Bol*_*wyn 6 php url server-configuration pathinfo
我注意到,有时(特别是在mod_rewrite不可用的地方)使用此路径方案:
http://host/path/index.php/clean_url_here
--------------------------^
Run Code Online (Sandbox Code Playgroud)
这似乎是有效的,至少在Apache中,index.php被调用,并且可以/clean_url_here通过查询部分$_SERVER['PATH_INFO'].PHP甚至宣传这个功能.此外,例如,CodeIgniter框架使用此技术作为其URL的默认值.
问题:该技术的可靠性如何?是否存在Apache不调用index.php但尝试解决路径的情况?那么lighttpd,nginx,IIS,AOLServer呢?
一个ServerFault问题?我认为这与在PHP代码中使用此功能有关.所以我问这里.
附录:正如VolkerK所建议的那样,这个问题的合理扩展是:程序员如何影响$_SERVER['PATH_INFO']各种服务器类型的存在?
我认为这个问题同样适合 stackoverflow 和 serverfault。例如,作为开发人员,我只能告诉您 pathinfo 与任何用户输入一样值得信赖(这意味着它几乎可以包含任何内容),并且您的脚本可能会或可能不会收到它,具体取决于网络服务器版本和配置:
Apache:AcceptPathInfo
IIS:例如AllowPathInfoForScriptMappings等等等等
...
但服务器管理员可能可以告诉您“在现实世界中”可以期待哪些设置以及为什么首选这些设置。
所以问题就变成了:你(或预期的用户群)对服务器配置有多大影响。