如何将Apache网站放到503"临时停机"?

tem*_*oto 40 apache configuration http

RFC2616,503服务不可用

由于服务器的临时过载或维护,服务器当前无法处理请求

如何配置Apache 2.2以使用自定义HTML页面提供基于特定名称的虚拟主机503代码?

cap*_*ete 52

503暂时不可用,带触发器

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteCond "/srv/www/example.com/maintenance.trigger" -f
RewriteRule ^(.*)$ /$1 [R=503,L]
Run Code Online (Sandbox Code Playgroud)

如果maintenance.trigger文件存在,Apache将提供503 Service Unavailable响应.要提供自定义的"down for maintenance"页面,请使用ErrorDocument指定文件,如下所示:

ErrorDocument 503 /503_with_cats.html
Run Code Online (Sandbox Code Playgroud)

请享用!

  • 在重写规则中指定目标部分是误导,我更喜欢:`RewriteRule ^ - [R = 503,L]` (6认同)

Gum*_*mbo 30

你可以使用mod_rewrite:

RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule !^/down/for/maintenance$ %{DOCUMENT_ROOT}down/for/maintenance [L,R=503]
Run Code Online (Sandbox Code Playgroud)

RewriteCond指令确保重定向到自定义错误文档时不会发生其他内部错误.

  • ErrorDocument 503 /down/for/maintenance/index.html (6认同)