尝试使用 ErrorDocument 时出现 404 Not Found 错误
Posted
技术标签:
【中文标题】尝试使用 ErrorDocument 时出现 404 Not Found 错误【英文标题】:Getting 404 Not Found error while trying to use ErrorDocument 【发布时间】:2012-09-27 10:36:38 【问题描述】:我知道这个帖子在网上和这里已经讨论了很多,我尝试了几乎所有的方法,但我仍然遇到同样的问题。
这是我在本地服务器上的网址 (MAMP)
http://localhost:8888/hellothere/index.php
而且我试图插入错误的路径将我带到错误的页面,如下所示:
http://localhost:8888/hellothere/eiurgiuerib
它没有将我带到错误页面,而是显示:
Not Found
The requested URL /hellothere/eiurgiuerib was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
我的 404 页面位于错误目录中。在我的 .htaccess 文件中,我包含了这个:
ErrorDocument 404 /Error/404.php
【问题讨论】:
自定义错误页面不工作。那我该怎么办? 你能显示你的文件夹架构吗? 请不要使用图片来显示文本数据。意思是找不到/Error/404.php -- 检查拼写、大小写以及目录和文件权限。您应该能够从浏览器地址调用 404.php -- 找到了吗? 【参考方案1】:ErrorDocument
指令在提供本地 URL 路径时,期望该路径完全符合 DocumentRoot
。在您的情况下,这意味着ErrorDocument
的实际路径是
ErrorDocument 404 /hellothere/error/404page.html
【讨论】:
再想一想,如果在我的 index.php 页面中我只是添加这行代码“header("HTTP/1.0 404 Not Found");“它不会带我到 404 页面,为什么会这样? @user1725155 你应该阅读这篇文章custom 404 not working 非常感谢,我反复尝试从服务器根目录而不是文档根目录将其打入 apache。【参考方案2】:当我们应用本地 url 时,ErrorDocument 指令需要来自 DocumentRoot 的完整路径。 因此,
ErrorDocument 404 /yourfoldernames/errors/404.html
【讨论】:
以上是关于尝试使用 ErrorDocument 时出现 404 Not Found 错误的主要内容,如果未能解决你的问题,请参考以下文章