WordPressのディレクトリを変更できない、移動できない

WordPressのディレクトリを変更できない、移動できない

結局、タイトルのようにディレクトリを変更したり、移動したり出来ないということと同じことになりますが、この問題に気づいたのは次の点からです。

WordPress のインストールを

  • WordPress をサーバルート下に展開し、ディレクトリを wp と変更
  • ローカルマシンの x から http://localhost/wp/ でアクセスし、インストール完了
  • 同じネットワーク内の Windows から http://192.168.1.14(サーバアドレス)/wp/ でアクセス

そうしますと、下の画像のように css がロードされない状態で表示されます。リンクをクリックしても「このページは表示できない」と表示されます。どういうことだろうとリンクのアドレスを見てみますと、全て http://localhost になっています。

ということは、インストール時のホスト名(ドメイン名)が設定ファイルのどこかに書き込まれていることになります。

WordPressはサイトアドレス(URL)をDBに持っている

管理画面の設定>一般設定>にありました。

WordPressアドレス(URL)とサイトアドレス(URL)にインストール時のホスト名が書き込まれています。このデータは、DBのテーブル wp_options の siteurl と home に保存されています。

インストール後にディレクトリ名を変更する場合は、ここを変更すればいいのでしょうが、ただ、ディレクトリを変更したら、この管理画面にアクセスできなくなりますので、先に設定を変更しておくのでしょうか?

WordPress を専用ディレクトリに配置する

ディレクトリとは別のディレクトリに」のリンク先に解説がありました。この二つの設定は、どちらもURL表示ですが、
「WordPress アドレス(URL)」はインストールされているディレクトリ
「サイトアドレス(URL)」は公開するサイトのアドレス
ということになります。

ですから、インストールアドレス(ディレクトリ)と公開アドレスを変えることが出来ることになります。たとえば、WordPress の本体をサブディレクトリ http://hogehoge.com/wp にインストールしても http://hogehoge.com で公開できます。

具体的には、

  1. WordPress アドレス(URL)→ http://hogehoge.com/wp
    サイトアドレス(URL)→ http://hogehoge.com
  2. http://hogehoge.com/wp/index.php を http://hogehoge.com にコピー
  3. http://hogehoge.com/index.php の
    require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );

    require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );
    に変更

とします。

ということで、この二つの設定を変更すれば、ディレクトリの変更や移動、サイト移転もうまくいきそうです。