The server is not redirecting (response is 200 not 304).
The returned HTML contains
<frameset rows="24,100%" frameborder="0">
<frame src="frame_header.php?hello=&title=" scrolling="no" />
<frame src="http://www.promptfile.com/l/DA155F60EF-FC274DCD8D" />
</frameset><noframes>http://www.promptfile.com/l/DA155F60EF-FC274DCD8D</noframes>
which would trigger an HTML browser to load that page. curl doesn't parse the returned HTML, just the HTTP headers because it's an HTTP client, not an actual HTML browser. So the second URL is not actually ever being requested (which you could verify by looking at what curl actually returned in your example code), and the effective URL is actually the one you are getting back.