我在Rackspace上注意到,当使用Ubuntu实例(10.04;标准LAMP设置)时,URL上的“.php”后缀是可选的。即www.example.com/thispage加载thispage.php
当我在Amazon上设置一个非常相似的服务器(默认的AWS 32位ami;一种CentOS / Red Hat的风格)并在osX 10.6上本地设置时,需要“.php”后缀。 www.example.com/thispage返回404错误,而/thispage.php按预期加载文件。
至少在我看来,最可能的原因是php.ini中有不同的默认设置或这些不同设置之间的Apache配置,但我无法弄清楚它是什么。任何人都可以向我解释这种差异来自何处?
注意:我知道这可以使用mod_rewrite克服,我只是对这种默认配置的差异感到好奇。
答案 0 :(得分:2)
检查是否设置了MultViews - 选项。
如果确实如此,并且没有这样的目录(例如“thispage”),服务器将查找文件名为“thispage”的文件和任何扩展名,并提供(如果找到)最佳匹配。
答案 1 :(得分:0)
答案是http://www.php.net/manual/en/security.hiding.php#45896,但您需要访问httpd.conf文件