RFC2616、503サービスを利用できません
一時的な過負荷またはサーバーのメンテナンスのため、サーバーは現在リクエストを処理できません
特定の名前ベースの仮想ホスト503コードをカスタムHTMLページで提供するようにApache 2.2を構成する方法
mod_rewrite を使用できます:
RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule !^/down/for/maintenance$ %{DOCUMENT_ROOT}down/for/maintenance [L,R=503]
RewriteCond
ディレクティブは、カスタムエラードキュメントにリダイレクトするときに追加の内部エラーが発生しないようにします。
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteCond "/srv/www/example.com/maintenance.trigger" -f
RewriteRule ^(.*)$ /$1 [R=503,L]
maintenance.trigger
ファイルが存在します。Apacheは503 Service Unavailable
レスポンス。カスタムの「メンテナンスのためのダウン」ページを提供するには、次のようにErrorDocument
を使用してファイルを指定します。
ErrorDocument 503 /503_with_cats.html
楽しい!
@temoto
ボット用に503を、人間用にメンテナンスページを指定するには、以下を試してください。
RewriteEngine on
RewriteBase /
#for bots such as google
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher|bingbot)-?(Google|Image)? [NC]
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule !^/down/for/maintenance$ %{DOCUMENT_ROOT}down/for/maintenance [L,R=503]
#for humans
RewriteCond %{REMOTE_Host} !^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !^/maint.html [NC]
RewriteRule .* /maint.html [R=302,L]