Posted by & filed under Apache, Tech.

Happy Birthday ApacheHappy Birthday Apache

 

Web サイトの運営していると

保守/改修のためにメンテナンス画面を表示させる、なんてよくある事ですが

Apache 1.3系で動くサイトでハマったのでメモ。

ads

 

事の発端はコチラ。

Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum

 

約3年前の記事ですが、Apache 2.2系の場合によく利用させてもらってます。

だがしかし!1.3系ではこのお作法は使えません!

 

どうやら 1.3系では、2.2系を対象としている Web担さん記事 であるような

ReWriteRule でステータスコード 503 を指定する事はできないッ ご様子でございました。

南無三ッ!

 

と、既にいくつかの対応策も Google 先生経由で教わりました。先人の知恵は偉大です。ありがとうございます。

 

要はなんらかのプログラムで HTTP ヘッダに 503 を返してやればよい、との事なので

LAMP 環境である今回の件は以下サイトを参考にさせて頂きました。

 

ついでなので、Apache 1.3 のドキュメントにはどんな事書いてあるのかな~っと見てみました。
Apache module mod_rewrite

‘redirect|R [=code]’ (強制 redirect)
Substitution の前に (新しい URL を URI にする) http://thishost[:thisport]/ をつけることにより強制的な外部リダイレクションを行ないます。 code が指定されない場合、HTTP レスポンスの 302 (MOVED TEMPORARILY) が使われます。300 から 400 までの他のレスポンスコードを返したい場合は、 直接その番号を指定するか、シンボル名 temp (デフォルト), permanent, seeother のいずれかを使います。例えば、“/~” を “/u/” に変換したり、常に /u/ user にスラッシュを追加するなどの、クライアントに 正規化 された URL を返すルールに使うことができます。

 

とのことです。

 

単純なリダイレクトであれば 302 で返してもいいのでしょうけれど

メンテナンスとなるとクローラに無用なページをキャッシュされたくないですからね。

 

いつも大変お世話になっている Apache ですが、まだまだオールドスクールな Apache と戯れる私には有益な情報でござした。

Related Posts Plugin for WordPress, Blogger...

Comments are closed.