ウェブサイトのメンテナンス表示についての質問です。

一日のある時間帯をメンテナンス時間として、どのページにアクセスしても、特定の「メンテナンス中です」と書かれたページを表示させたいのですが、どのような方法が一番スマートでしょうか。
Apacheで制御できれば、それがよさそうな気がしますが。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/09/07 15:49:55
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ton-boo No.3

回答回数55ベストアンサー獲得回数5

ポイント48pt

b-windさんの紹介されているmod_rewriteで、

RewriteEngine on
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0100
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0200
RewriteRule  ^.*$ /maintenance.html  [L]

としてはどうでしょう?

上記は1時から2時までのつもりですが、ひょっとしたら0100ではなく0059とかにするべきかもしれません(未確認です)。

id:studio15

ばっちりです。

あざっす!

2006/09/07 15:48:12

その他の回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント16pt

サイト自体にそういう機能を作ってしまうのが確実ですが、

mod_rewrite が使えればわりと簡単にもできます。


RewriteEngine on
RewriteRule  ^.*$ /maintenance.html  [L]

もうひとつの方法としてはメンテナンス時用の DocumentRoot を作り、そこには maintenance.html のみ用意します。

そして

ErrorDocument 404 /maintenance.html

とするとほとんどすべてのページが not found になるので

maintenance.html がエラードキュメントとして表示されることになります。

この場合の欠点としては、ブラウザや設定によっては内蔵の 404 エラーページが優先して表示されることがあることです。

id:studio15

時間の指定をしていないようですが…

一日のある時間帯(例えば5~6時)などをメンテナンス時間としたいのです。

2006/09/07 14:18:54
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント16pt

すいません時間指定は出来ません。

メンテナンスの前後に Apache を再起動することが前提です。

Apache のみでは時間指定は不可能なので、cron 等と連携することになります。

id:ton-boo No.3

回答回数55ベストアンサー獲得回数5ここでベストアンサー

ポイント48pt

b-windさんの紹介されているmod_rewriteで、

RewriteEngine on
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0100
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0200
RewriteRule  ^.*$ /maintenance.html  [L]

としてはどうでしょう?

上記は1時から2時までのつもりですが、ひょっとしたら0100ではなく0059とかにするべきかもしれません(未確認です)。

id:studio15

ばっちりです。

あざっす!

2006/09/07 15:48:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません