如何创建自定义 Apache 503 错误页面

Posted

技术标签:

【中文标题】如何创建自定义 Apache 503 错误页面【英文标题】:How to Create A Custom Apache 503 Error Page 【发布时间】:2013-02-13 19:42:43 【问题描述】:

我创建了一个 html 文档,它将显示服务器尚未准备好,然后重定向到另一个页面。我希望这是 503 错误页面。

我需要在 Apache 中编辑什么文件才能让这个自定义 HTML 成为我的新 503 错误页面?我已经尝试按照多个网站上的说明进行操作,但它仍然指向原始 Apache。

这是我的“httpd-vhosts.conf”文件中的代码。

<VirtualHost *:80>
ServerAdmin blah@blah.com
ServerName blah.blah.com
ServerAlias blah blah.blah.local
ErrorLog "logs/blah-error.log"
CustomLog "logs/blah-access.log" common
ErrorDocument 503 "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/blah/error.html"
LogLevel warn
RewriteEngine On
JkMount /* worker5
DocumentRoot "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/blah"
<Directory "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/blah">
            Options All
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>
</VirtualHost>

在“httpd.conf”文件中,它包含了“httpd-vhosts.conf”文件,所以我不知道为什么它不起作用。任何帮助,将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

ErrorDocument 采用绝对 URL 路径而不是文件路径。所以应该是:

ErrorDocument 503 /blah/error.html

假设您的文档根目录下是一个/blah/error.html 文件。

【讨论】:

它不会这样工作,因为必须从以下位置配置一些错误代码:/etc/apache2/conf.d/localized-error-pages 不,它没有。您可以在各种情况下执行 ErrorDocuments。见:httpd.apache.org/docs/2.2/mod/core.html#errordocument 这个答案没有意义。网站关闭时显示 503...但您建议将此添加到您的网站...当网站关闭时不会显示? 如果您使用带有 ProxyPass 的 Apache HTTP 来显示例如 NodeJS 站点,如果上游不可用,您可以使用它返回自定义的、更友好的 503,而不是默认的白屏。跨度>

以上是关于如何创建自定义 Apache 503 错误页面的主要内容,如果未能解决你的问题,请参考以下文章

如何解决有关自定义 500 和 503 错误页面的问题

从 servlet java 抛出的自定义 503 错误页面

IIS 7.5 自定义 503 错误页面

我可以设置 503 页面的样式吗?

如何自定义 503 错误 - varnish 4

503 服务不可用没有被任何 IIS 错误页面或 ASP.net 错误页面处理