I have two Apache servers running PHP. One accepts forward-slashes in the query string and passes it along to PHP in the expected way, for example:
http://server/index.php?url=http://foo.bar
works and in PHP this expression is true:
$_REQUEST['url'] == "http://foo.bar"
However, in the other Apache server, the same URL results in a 403 Forbidden
error! Note that if the query string is properly URL-escaped (i.e. with %2F
instead of forward-slash), then everything works.
Clearly there's some difference in the Apache or PHP configuration that causes this, but I can't figure out what!
I want to accept this form of URL in both cases, not reject it.