如何使用基于 404 错误的 mod_rewrite 重定向到自定义错误页面

Posted

技术标签:

【中文标题】如何使用基于 404 错误的 mod_rewrite 重定向到自定义错误页面【英文标题】:How to redirect to a custom error page using mod_rewrite based on 404 error 【发布时间】:2010-11-10 08:19:33 【问题描述】:

当返回 404 时,我正在尝试使用 mod_rewrite 来重定向到我的自定义 html 错误页面。现在,我的 http 服务器正在运行,我的 appserver(Websphere) 正在运行。当我在应用服务器上关闭服务时,它会返回如下消息:

SRVE0255E: 尚未定义处理 localhost:80 的 WebGroup/虚拟主机。

我希望能够根据响应重定向到我的自定义错误消息,而不是显示此错误消息。尝试在 httpd.conf 文件中使用 ErrorDocument 指令不起作用,...但我听说这可能与 mod_rewrite 有关。我不知道该怎么做。

【问题讨论】:

有没有人回过头来为您提供解决方案? 【参考方案1】:

你有没有这样尝试过:

ErrorDocument 404 /not-found.asp

【讨论】:

似乎正在发生的事情是 404 响应被返回到应用程序服务器(Websphere)而不是位于它前面的前端服务器(IBM Http 服务器)。连接他们两个的插件可能只是看到它得到了响应。所以它不会查看响应,而只会将其转发到前端服务器(http 服务器)。 http 服务器看到它收到了响应,但没有尝试看到它收到的响应是 404,因此不会显示错误页面。 我一直在尝试使用 mod_rewrite 模块来强制它扫描响应。或者通过某种方式让插件将其识别为 404 并将其作为 404 传递给 http 服务器?【参考方案2】:

我们只能发布“服务器维护中,感谢您的耐心等待!”之类的消息。 ,通过添加自定义属性。我们无法将其重定向到自定义的静态页面。

【讨论】:

以上是关于如何使用基于 404 错误的 mod_rewrite 重定向到自定义错误页面的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP mod_rewrite 对象未找到错误

从 xampp 移动到 apache 2.4.7 后,Laravel 路由返回 404。 mod_rewrite aur htaccess 或缺少 apache 设置?

有没有办法强制 apache 返回 404 而不是 403?

Mod_Rewrite主页字符串

如何配置 Monolog 从日志中排除 404 错误

基于js+css制作404数字跳动错误页面