如果我在服务器上有/faq.php
,也可以通过/faq.php/nonexistant.gif
访问它为什么?我确保禁用MultiViews。为什么在访问URI /faq.php
时会显示/faq.php/randomstuff.gif
的内容?仅供参考,我在同一目录中没有htaccess文件。
答案 0 :(得分:2)
/nonexistant.gif
将是HTTP" PATH_INFO":http://www.ietf.org/rfc/rfc3875,第4.1.5节
基本上,网络服务器将扫描" down"一个网址,直到它击中实际文件。在网址中该文件之后的任何内容都变为PATH_INFO。
http://example.com/some/path/leading/to/realfile.php/extra/stuff/that/becomes/path/info
^^^^^^^^^^^^^^^^^^^^--- real directories
^^^^^^^^^^^^--actual file, scanning stops here
^^-----onwards = path_info
答案 1 :(得分:1)
这称为path_info
。您可以在apache配置中使用AcceptPathInfo Off
禁用它。当mod重写不可用时,人们通常将它用作假的mod重写。
http://httpd.apache.org/docs/2.2/mod/core.html#acceptpathinfo