我有两台运行 PHP 的 Apache 服务器。一个接受查询字符串中的正斜杠并以预期的方式将其传递给 PHP,例如:
http://server/index.php?url=http://foo.bar
有效,在 PHP 中这个表达式为真:
$_REQUEST['url'] == "http://foo.bar"
但是,在其他Apache 服务器中,相同的 URL 会导致403 Forbidden
错误!请注意,如果查询字符串正确地进行了 URL 转义(即使用%2F
而不是正斜杠),那么一切正常。
很明显,导致这种情况的 Apache 或 PHP 配置存在一些差异,但我不知道是什么原因!
我想在这两种情况下都接受这种形式的 URL,而不是拒绝它。