結局、タイトルのようにディレクトリを変更したり、移動したり出来ないということと同じことになりますが、この問題に気づいたのは次の点からです。
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 で公開できます。
具体的には、
- WordPress アドレス(URL)→ http://hogehoge.com/wp
サイトアドレス(URL)→ http://hogehoge.com - http://hogehoge.com/wp/index.php を http://hogehoge.com にコピー
- http://hogehoge.com/index.php の
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
を
require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );
に変更
とします。
ということで、この二つの設定を変更すれば、ディレクトリの変更や移動、サイト移転もうまくいきそうです。