Apache不生成404

时间:2014-03-18 20:14:11

标签: php apache http-status-code-404

如果我在服务器上有/faq.php,也可以通过/faq.php/nonexistant.gif访问它为什么?我确保禁用MultiViews。为什么在访问URI /faq.php时会显示/faq.php/randomstuff.gif的内容?仅供参考,我在同一目录中没有htaccess文件。

2 个答案:

答案 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