在领先的Web服务器上使用$ _SERVER ['SCRIPT_NAME']是否可靠(apache,nginx,IIS)

时间:2015-11-12 04:05:23

标签: php apache iis nginx

我刚刚发现在apache下,像wp-login.php / test这样的URL可能会也可能不会运行wp-login.php脚本,具体取决于虚拟主机/目录设置。这使得我的代码依赖于通过解析$_SERVER['REQUEST_URI']不可靠而知道运行哪个“root”脚本,并且我希望尽可能避免复杂的字符串解析。

使用像if $_SERVER['SCRIPT_NAME'] == 'wp-login.php'这样的东西似乎是一个更好的选择,但是我可以依靠它来为所有主要的Web服务器工作吗?mod_php,fastcgi,cgi?我错过了更好的选择吗?

(对于那些想知道我为什么不添加define的人的上下文,这是一个wordpress核心文件,我不能也不想修改它。

1 个答案:

答案 0 :(得分:0)

foo.php / bar仅在启用了AcceptPathInfo指令(或其他Web服务器上的挂件)时才有效。

没有其他配置会对此行为产生影响。

是的,你可以依靠这种超级全球性的进入。