apache - 404 错误不适用于 /dir/file.php
问题描述
好的,我会发布这个问题,希望你能理解我所说的使用你的技能和知识
我在根目录中有一个 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 错误页面?
解决方案
这是 PHP 请求处理程序的正常行为,因为other/apage.php
它是一个有效文件,并且AcceptPathInfo指令默认设置为 On。
要明确禁用此行为:
- 在您的 Apache 配置中
<Directory /var/www/html>
AcceptPathInfo Off
</Directory>
- 或在您的 .htaccess 文件中
AcceptPathInfo Off
推荐阅读
- linux - 为什么内核模块 Makefile 不能识别目录中的任何文件?
- laravel - 我们如何将 Laravel Vue 组件升级到 Vue 3?
- python - 当整数变量在函数中被引用时,“UnboundLocalError:赋值前引用的局部变量‘计数’”
- java - 对 maven 3.12.0 很好,但是 3.13.0:pmd failed: MavenReportException: /workspace/my-project/.out/reports/pmd/pmd.xml (没有这样的文件或目录)
- php - 我在 vue.js 中使用 v-for 显示数据库项目时遇到问题
- reactjs - 错误:不变量失败:您不应该使用
外面 - python-3.x - 需要在 Python 3 的 for 循环中比较两个数组元素并得到错误“数组的真值......”
- java - 测试 IllegalArgumentException 时遇到问题
- html - 如何使用垂直线 | 选择htmlnode?
- python-3.x - 我无法在 pyglet 中创建窗口