404错误不适用于/dir/file.php

时间:2019-06-08 11:53:51

标签: apache .htaccess http-status-code-404

好吧,我会发布这个问题,希望您能理解我在使用您的技能和知识所谈论的内容

我在根目录上有一个404错误文件,名为error404.html。 同样,我有一个.htaccess文件,其行如下:

ErrorDocument 404 /error404.html

如果您访问我的网站https://www.mysite/index.php效果很好。

如果您尝试查找不存在的页面,例如https://www.mysite/nothere.php,则会出现我的错误页面,并且可以正常工作。

如果您访问我的网站并转到https://www.mysite/other/apage.php,一切正常。 如果您尝试找到的页面不存在,https://www.mysite/other/nothere.php我的错误页面就会出现并且可以正常工作

这是我的问题:

您来到我的网站并转到https://www.mysite/other/apage.php,此页面应该可以工作,但是您犯了一个错误,实际上输入了https://www.mysite/other/apage.php/nothere.php,它没有显示我的404错误,而是尝试显示 https://www.mysite/other/apage.php缺少文字和图片

为什么我没有得到404错误页面?

1 个答案:

答案 0 :(得分:0)

这是PHP请求处理程序的正常行为,因为other/apage.php是有效文件,并且AcceptPathInfo伪指令默认设置为On。

要明确禁用此行为:

  • 在您的Apache配置中
<Directory /var/www/html>
  AcceptPathInfo Off
</Directory>
  • 或您的.htaccess文件中
AcceptPathInfo Off