13時になったら Web サイトをカチっとリニューアルする作法とか方法

Web サイトをリニューアルする。例えば、明日の13時から切り替えたいという場合に、13時前にファイルを全部削除して新しいファイルを上げなおすっていうのは、とてもナンセンスだと思います。
13時になったら、ファイルの記述をちょっと変更するだけでカチッとサイトを切り替える方法を紹介します。

1. mod_rewrite を使ってルートへのアクセスを before ディレクトリへ書き換える

通常、http://example.com/index.html へのアクセスは、http://example.com/index.html のファイルを表示しますが、mod_rewrite を使って、http://example.com/index.html へのアクセスされた場合に、http://example.com/before/index.html ファイルの処理結果を返すようにします。やり方としては以下です。

.htaccess に以下のように書いて、ドキュメントルートに置いてください。

1
2
3
4
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*) /before/$1 [L]
</IfModule>

内容としては、どんなアクセスもとりあえず、まずは /before/ 以下の結果に飛ばすという設定です。ドキュメントルートの場所を変更したと思えばいいかな。通常は /www/ 以下が公開用ディレクトリのところ、/www/before/ 以下に変更したと思ってもらえばいいかなと今の私は思っています。

ちなみに、特定のディレクトリ以下で全然関係ないサイトを運営している場合。例えば、http://example.com/hoge/ というディレクトリ以下で「hoge site」というサイトを運営しており、ここは今回のリニューアルとまったく関係ないと言う場合に今回の設定をすると、http://example.com/hoge/ へのアクセスが http://example.com/before/hoge/ へのアクセスとして内部的に書き換わってしまいますので、以下のようにして /hoge/ への場合は書き換えをしないようにしましょう。

1
2
3
4
5
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/hoge/
RewriteRule (.*) /before/$1 [L]
</IfModule>

/hoge/ へのアクセスの場合は RewriteRule が適用されないようになっています。

2. 自分の環境からだけはアクセスを書き換えずリニューアル後ページが表示されるようにする

ここからがメインディッシュです。現在かかってる書き換えを自分だけ除外します。除外する方法として、今回は以下のように IP アドレスを使います。

1
2
3
4
5
6
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123.456.789.01
RewriteCond %{REQUEST_URI} !^/hoge/
RewriteRule (.*) /before/$1 [L]
</IfModule>

この設定は、グローバル IP アドレスが、123.456.789.01 でなく、リクエストした URL が http://example.com/hoge/ ではないときのすべてのアクセスを /before/ 以下に書き換えるという設定になります。IP アドレスの部分に自分のグローバル IP アドレスを入れることで、自分だけは http://example.com/index.html にアクセスしても http://example.com/index.html の結果を返してきます。

この方法で、他の人には今までどおりサイトを公開しながら、自分だけはサーバーで事前にリニューアル後のサイトをチェックするといったことが可能です。

3. 13時になったらカチッ Web サイトをリニューアル後に切り替えます

方法は簡単です。先程の .htaccess を削除するだけ。既に存在している .htaccess に追記で書き込んだ人は追記した部分を綺麗サッパリ消せばいいだけ。
削除をすれば、全ての人がリニューアル後のページにアクセスするようになります。

コメント

  1. 静的ファイルで構成されたサイトを WordPress で構築しリニューアルする際にスムーズに切り替える方法とか作法 | ウェブルさんのコメント

    [...] 今回は先程書いた13時になったら Web サイトをカチっとリニューアルする作法とか方法の発展形として、静的ファイルで構築された古い Web サイトを、滞りなく WordPress で構築されたサイ [...]

  2. ITキヲスク | 2010年5/16~5/22の週間ブックマークさんのコメント

    [...] 13時になったら Web サイトをカチっとリニューアルする作法とか方法 | ウェブル [...]