请考虑以下GET请求:www.foo.com/bar.php/rest/resource,那么应该是这样的情况:
$_SERVER['SCRIPT_NAME'] === 'bar.php';
这在我的本地机器以及我们的开发服务器中都是如此。但在我们的测试服务器上:
echo $_SERVER['SCRIPT_NAME']; // bar.php/rest/resource
这是错误的。我非常确定这是由Apache配置引起的,因为当测试服务器从Apache 2.2升级到2.4.7(为我们的组织添加配置)时,测试服务器发生故障。我阅读了Apache升级/发行说明,似乎无法确定发生了什么。
更多信息: 我已经签出PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI,似乎我的PHP_SELF和SCRIPT_NAME是
[PHP_SELF] => /test.php/foo/bar [SCRIPT_NAME] => /test.php
switched.Instead我得到
[PHP_SELF] => /test.php [SCRIPT_NAME] => /test.php/foo/bar
现货。我很佩服。 – ComputrScientist