今までは、さくらインターネットで最初に提供される、サブドメイン上にディレクトリを作ってWordPressを動かしていたのですが、お名前.comで「.com」ドメインを500円で取得できるキャンペーンをやっていたので、ドメインに移しました。
思ったよりも簡単でした。(6を除いて…)
1.データベースをバックアップ
作業にかかる前に、WordPressで使用しているテーブルをバックアップします。
WordPressで使用しているテーブルは、「wp_」という接頭語が付いているので、接頭語が「wp_」のテーブル全てをバックアップします。(接頭語が「wp_」となるのは、標準インストールした場合で、インストール時に他の接頭語を設定した場合は、設定した接頭語で探してください。)
2.ディレクトリを丸ごとコピー
次に、現在のWordPressのファイルを全てコピーします。
同一サーバー上で移動する場合は、FTPを使うよりもシェルを使ってコピーした方が圧倒的に早くコピーできるので、シェルで「cp」コマンドを打ってコピーしましょう。
シェルが使えない場合や、別サーバーへ移動する場合は、FTPを使ってコピーしてください。
3.SQL実行してデータベース上に保存されたURLを変更
以下、4つのSQL実行して、データベース上に保存されている古いURLと古いディレクトリパスを新しい物に変更します。
update wp_posts set post_content=replace(post_content,'古いURL','新しいURL');
update wp_posts set guid=replace(guid,'古いURL','新しいURL');
update wp_options set option_value=replace(option_value,'古いURL','新しいURL');
update wp_options set option_value=replace(option_value,'古いディレクトリパス','新しいディレクトリパス');
4.コピーした.htaccessを修正
新しくコピーしたディレクトリにある、.htaccessを変更します。
変更するのは、「RewriteBase」と「RewriteRule」の2箇所です。ここを新しいディレクトリに変更します。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /hoge/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /hoge/index.php [L]
</IfModule>
# END WordPress
よく分からないという人は、管理画面の「設定」→「パーマリンクの設定」に移動して、「変更を保存」ボタンを押します。
すると、適切な.htaccessファイルが作成されます。
5.古いURLにアクセスされたら新しいURLに飛ばす
これも.htaccessファイルを使います。以下のテキスト.htaccessファイルに保存して、古いディレクトリに置きます。
「/hoge/」の部分が古いディレクトリのパス(ドキュメントルートからのパス)で、「http://hoge/」の部分が新しいURLになります。
Redirect permanent /hoge/ http://hoge/
こちらの.htaccessファイルを置くと、ディレクトリ構造もそのままリダイレクトしてくれます。
例えば、「http://oldhoge/hoge/2011/03/10/」というアドレスにアクセスされた場合、「http://hoge/hoge/2011/03/10/」というアドレにリダイレクトしてくれます。
これはかなり便利!
6.「wp.Vicuna」テーマを使ってる人は注意…!
これは、「wp.Vicuna」テーマを使っている人のみになりますが、このままだと管理画面が使えなくなります!
別途記事を書いたのでそちらを参照してください。
WordPressでwp.Vicunaテーマを使っている人はテーマのバージョンアップやディレクトリ移動する場合には注意が必要