WordPressブログをルートからサブディレクトリに移動する方法 美川の山里暮らし

還暦を過ぎ、岡山県南西部の山間地で文明の利器を活用しながら田舎生活を満喫したいと思っています エジソン君の絵

WordPressブログをルートからサブディレクトリに移動する方法

Filed under: WordPress — タグ: , , , — daii @ 1:10 PM
2010年11月15日

私は今まで、WordPress のブログをドメインのルートディレクトリに作っていました。しかし、このままだと、ルートファイルがゴチャゴチャして見にくいのです。また、将来ホームページスペースとして使う場合にも使いにくいのです。

そこで、ブログをルートからサブディレクトリに移動することにしました。ブログはMySQLというデーターベースを使っています。この為、ブログの移動はホームページの移動のように簡単にはできません。やり方を間違えるとブログが消えてしまうことが考えられます。

まず、ブログのデーターベースのバックアップをします。これは、Coreserver の管理画面でデーターベースの保存をします。public_html のひとつ上の階層に mysql_.**********.dump という18MB程度のファイルができました。

次にブログの管理画面のツールから、データーのエクスポートをします。これはパソコンの中にデーターをダウンロードします。wordpress.2010-11-15.xml のようなファイル名で500kB程度のファイルでした。

念の為に、ワードプレスのフォルダもFTPソフトでミラーリングダウンロードしておきます。画像ファイルは、これでダウンロードできます。

ブログをサブディレクトリに移動する手順は次の所にもあります。

http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory

ここでは簡単にできるように書いてありますが、実は色々な所でつまずきます。自信がない人はやめた方が良いでしょう。私もさんざん迷いましたが、結局やってみることにしました。次に私が経験した方法を記述します。

ルートディレクトリにインストール済みの場合に root/wp/ に移動する方法

WordPress をルートディレクトリにインストール済みの場合、WordPress ファイルを専用ディレクトリwpへ移動するには次のようにします。

ブログの管理パネルで 設定 > 一般設定パネルを開きます。WordPress のアドレス (URL)欄を、新しい WordPress の URL に変更します。

WordPress のアドレス (URL): http://hogehoge.com/wp

ブログのアドレス (URL)欄も、新しい WordPressの URL に変更します。同じにした方が後々問題がありません。

変更を保存(Update Options)をクリックします。 (この時点でエラーメッセージが出ても気にしません)

WordPressファイルを、作成した新ディレクトリ(WordPress address)へ移動します。ここでは、コピーでなくて移動します。

WordPressディレクトリの index.php ファイルをテキストエディタで開きます。次の修正を行ない、ファイルを保存します。
修正前:require(‘./wp-blog-header.php’);
修正後:require(‘./wp/wp-blog-header.php’);

新しい URL からログインします。例、http://hogehoge.com/wp/wp-admin/

パーマリンクを設定している場合、パーマリンク設定パネルを開き、パーマリンク構造を更新してください。.htaccess に適切なパーミッションを設定してあれば、WordPress が自動で .htaccess を更新します。

これだけではありません。各フォルダやファイルのパーミッションの見直しをしてください。また、テーマの中のPHPファイルを変更している場合はこの中のアドレスの変更も必要です。

ページの永久移転の設定

http://hogehoge.com/ からhttp://hogehoge.com/wp/ へ移転したので、今までのアドレスのままでも転送して表示されるようにします。ルートのhtaccessファイルに次の行を追加します。私は追加ではなく、この2行だけにしました。

RewriteEngine on
RewriteRule ^(.*)$ /wp/$1 [L,R=301]

このままでは永久ループの可能性があるので、hogehoge.com/wp/のディレクトリのhtaccessファイルに次の行を追加します。

RewriteEngine Off

永久ループしない安全な方法は、ルートに index.php ファイルを作って、内容を次のように設定します。つまり、/wp/へ転送するだけです。この場合はhttp://hoge.jp/にアクセスがあった時だけ/wp/へ転送されます。直接ブログの中にアクセスがあっても転送はされません。

<html>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="0;URL=http://hoge.jp/wp/">
</head>
</html>

画像を表示するように変更する方法

このままでは画像が表示されないので、次に画像を表示するように変更します。画像はhttpからの絶対アドレスになっています。

先程、ブログの管理画面のツールから、データーのエクスポートをした、データーwordpress.2010-11-15.xml の内容をエディターで修正します。エディターはTeraPadのようなutf-8の文字コードに対応したものを使います。メモ帳ではできません。

修正する内容は次のように置換を行ないます。
http://hogehoge.com/ を http://hogehoge.com/wp/ に置換します。

次にブログの管理画面の投稿から、投稿を全て削除して、ゴミ箱からも削除します。これをしないとデーターの上書きができません。カテゴリーも削除した方が良いのかも知れません。私はカテゴリーを削除しなかったので、カテゴリーが2重に登録されました。

次にブログの管理画面のツールから、データーのインポートをします。これでたぶんうまくいくはずです。

スポンサーリンク

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

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress