静的ファイルで構成されたサイトを WordPress で構築しリニューアルする際にスムーズに切り替える方法とか作法

静的ファイルで構成された古いサイトをリニューアルしましょうと言ってリニューアルすることは最近よくあることですね。
ですが、古いコンテンツから新しいコンテンツに切り替える、つまり静的ファイルから WordPress に切り替える場合に、静的ファイルを全て削除してから、そこに WordPress をインストールするという力技、もしくは、静的ファイルが入っているところに WordPress のファイルぶち込んで、index.html を優先にして、少しずつ作業をしていくなんていう野蛮なことはやっていませんか。

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

.htaccess を設置する

といっても、先程書いた記事でほとんど説明していますので、原理についてはそちらを参照してください。ここではいきなりラストスパートです。
以下の .htaccess を設置してください。

1
2
3
4
5
6
7
8
9
10
11
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123.456.789.01
RewriteCond %{REQUEST_URI} !^/hoge/
RewriteRule (.*) /before/$1 [L]
# for WordPress
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

ちょっと、ここは私もなんとなくでやってるので、解釈間違ってるかもしれませんが、仕組みとしては、最初の RewriteRule で通常の人は /before/ のファイルにアクセスしようとするので、その後の WordPress 用の RewriteRule は適用されないけど、最初の RewriteRule をくぐり抜けた我々などは、WordPress の RewriteRule が効きますので、WordPress でのサイトが閲覧可能です。

リニューアル後に切り替えは、WordPress 部分以外削除します。例として以下のような感じにします。

1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

これで全ての人が WordPress で構築されたサイトを閲覧できますね。

コメント

コメントは受け付けていません。