尝试使用 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 错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 ErrorDocument 时出现 404 Not Found 错误

包含自定义404错误页面时出现.htaccess问题

使用 npm 安装时出现框架错误

尝试读取 localStorage 时出现登录错误

尝试访问 REST API 时出现 401(未授权)

cURL 错误 60:尝试使用 symfony 时出现 ssl 认证问题