Named anchor passed in URL resulting in 404 error

#1
Hello,

first of all, I apologize if my post is not in the appropriate section of the forum. In fact, I think this is not a real bug even though in my opinion it affects the reliability of the webserver.

I realized that in Litespeed, issuing a http request with an URL in which the anchor part has not been removed, results in a 404 error.
The same request, issued, for example, to an Apache2 webserver, correctly returns the page corresponding to the resource.

e.g., issuing a GET to: http://example.com/existing_resource.php#anchor
results in a 404 even if the page existing_resource.php exists.

I know that, by specification, it's the web client that should take care of "cleaning up" the URL and removing parts, such as anchors, that are used only for layout purposes, but some of them (e.g., curl) don't do any URL processing.
Even if the client does not sufficiently clean up the URL, I think it would be a safe idea to strip out eventual anchor parts that are left behind.

I found out the problem using curl on a Wordpress forum hosted on a Litespeed webserver. Wordpress often uses 302 redirects to send a user to a specific page anchor after a post, but specifying the redirect as "Location: page#comment" was making every request with curl fail.

Thank you,

Davide Canali
 
Top