HTTP503エラーの設定方法

サイトを一時的にオフラインにする時は、サーチエンジンにそのことを通知しまた後で訪問するように伝えるために503ステータスコードを返すのが適切だと説明しました。

なぜなら、アクセスできない404エラーを返すのはページが存在しない状態の通知で不適切だし、メンテナンス用のページを作成して表示させるのは正常な200を返してしまい、メンテナンス通知ページが正規のページとしてインデックスされてしまうからです。

と、ここまでは問題なかったのですが、肝心の503エラーの設定方法がしっくりきませんでした。

そこでアドバイスを求めたところ、親切な読者さんが教えてくれました。
こちらのサイトでの手順になります。

(1).htaccessに次のように記述

RewriteEngine on
RewriteRule ^503/ - [L]
RewriteRule ^.*$ 503/503.php

(2)ルートディレクトリの中に「503」というディレクトリを作成し、その中に以下を記述した「503.php」をアップロード

<?php
header ('HTTP/1.0 503 Service Temporarily Unavailable');
include(dirname(__FILE__) . '/maintenance.html');
?>

(3)503ディレクトリに「maintenance.html」という自分で作ったメンテナンス通知ページをアップロード

実際に検証して正しく機能することを確認しました。

匿名さん、ありがとうございます。