WordPressアドレスでなく、サイトアドレスを変える動きを見てみました。
今回は、サイトアドレスを変えるとどうなるかです。物理的にファイル移動はないです。それも今度やってみます。
サイトアドレスだけを変える
例えば、
http://local.bird.com
を
http://local.bird.com/wp
としたいとかです。
実際には、
http://local.bird.com/blog
とかですかね。ただすでにブログだけで使うって感じでもないですが、まあそれはそれで。
これで、保存すると、普通に出るわけですね。
この時何が変わってんだろ?
URLとして画像ファイルとかパスはwp-content/uploadsのままだから関係なし。投稿記事のパーマリンクが変わるってことと思われます。
変えたときにサイトアドレスに従ってパーマリンクが変わります。
パーマリンクの設定が下部に.htaccess設定となっていて表示されていることが確認できます。
自由に変えられる
では、他のアドレスでもどうかというと。
http://local.bird.com/4649/wp/free
みたいな適当なものもサイトアドレスに入れれば普通に動きます。これで新規投稿しても、
http://local.bird.com/4649/wp/free/投稿1/
でちゃんと投稿されます。動きは正しい漢字ですね。
先程パーマリンク設定で.htaccessが効いていると書きましたが設定はこんな感じになっています。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /4649/wp/free/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /4649/wp/free/index.php [L]
</IfModule>
ここでRewirteBaseが基準となるわけで、ちゃんと書き換えてるって感じがしますね。
ここまでで明確なのは、物理ファイルの移動がなければ、まあサイトアドレス変更だけってなさそうなんですけど、大きな影響がないかなというところです。
サイトアドレスはhomeでWP_HOME
これは感覚的にかなり紛らわしいかもしれないので、間違える人もいそうです。defineは強力なので間違えると辛いのでこの1セットで覚えると。homeとかWP_HOMEとかってユーザーが見る画面、ブラウザってことですね。
これも気になったので再度再度確認したものをキャプチャしときます。
ということですね。
もっといえば、Wordpressアドレスはsiteurlですが、option_idは1で超重要なので、1触ってたら「うん?」って思えるくらいになればバッチリです。
以下検証です。そもそもdefineした状態が臨時的なので運用がこうなのでなく、動きの理解のためです。
wp-config.phpでdefine WP_HOMEした場合(サイトアドレス)
見づらいですが、WP_HOMEをwp-config.phpで定義すれば、管理画面の一般設定のサイトアドレスが無効になり、かつDBのwp_optionsのhomeも無視されると。そしてパーマリンクはwp-config.phpに従う形となるわけですね。
これであれば、サイト自体はhttp://local.bird.comでユーザー側は見えるわけですね。
wp-config.phpで何もない場合(サイトアドレス)
これが普通というか、通常の動きです。サイトアドレス=homeということで、パーマリンクも設定されています。
なぜ間違えやすいか
なんで間違えそうかといえば、homeとかsiteurlとかの響きでしょう。サイトだからURLだからと思っちゃうと危険ですね。ただ、冷静に考えれば、WPのSITEURLなので、Wordpress管理アドレスと考えられるし、
homeとはhome.phpのようなまたはブラウザでホームへ戻るとは一般的にトップページや表示側と捉えられるでの合っている気がします。
間違えてもまあ直せばいいのですが、そうでないクリティカルな時は冷や汗ものですね。