好吧,我会发布这个问题,希望您能理解我在使用您的技能和知识所谈论的内容
我在根目录上有一个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错误页面?
答案 0 :(得分:0)
这是PHP请求处理程序的正常行为,因为other/apage.php
是有效文件,并且AcceptPathInfo伪指令默认设置为On。
要明确禁用此行为:
<Directory /var/www/html>
AcceptPathInfo Off
</Directory>
AcceptPathInfo Off