【问题标题】:Is it reliable to use $_SERVER['SCRIPT_NAME'] on leading web servers (apache, nginx, IIS)在领先的 Web 服务器(apache、nginx、IIS)上使用 $_SERVER['SCRIPT_NAME'] 是否可靠
【发布时间】:2015-11-12 04:05:23
【问题描述】:

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

使用if $_SERVER['SCRIPT_NAME'] == 'wp-login.php' 之类的东西似乎是一个更好的选择,但我可以依靠它来为所有主要的 Web 服务器工作,并使用各种 php 集成模式(mod_php、fastcgi、cgi)吗?我错过了更好的选择吗?

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

【问题讨论】:

    标签: php apache iis nginx


    【解决方案1】:

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

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

    是的,您可以依赖该超级全局条目。

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 2010-11-23
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多