3.5.1ja のマルチサイト設定 -> サブディレクトリ編
WordPress 3.1系では、うまくいったマルチサイト化 が
3.5.1ja を入れようとしたらリダイレクト設定ではまったのでメモ。
[WordPress] 3.5.1ja
親サイトは問題が出なかったものの、子サイトのダッシュボードにアクセスしようとすると
Firefox, Chrome 共に、リダイレクトのループが起きている
という問題に陥った。
サイト内でサブドメインを利用していたことのようだった。
(当たり前っちゃ当たり前か・・・反省)
マルチサイト設定を行った際に、WordPress から提示される .htaccess の内容について
WordPress は偉いので、さくらレンタルサーバの私のルートディレクトリ
www/
に配置すべき .htaccess の内容を記述してくれていたが
今回のインストール先は
www/hoge/wordpress/
であり、そちらにサブドメインを指定していたので
アクセスする際には、サブドメインのルートディレクトリが基準になる。
というわけで、WordPress が提示してくれた
[htaccess]RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) hoge/wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ hoge/wordpress/$2 [L]
RewriteRule . index.php [L][/htaccess]
のうち、11,12行目を変更し
[htaccess num=11]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L][/htaccess]
とすることで、リダイレクトのループエラーを回避することができた。
WordPress 日本語 フォーラム:[解決済み] WordPress3.5のマルチサイトで子サイトのダッシュボードにアクセスできない
freefielder.jp:WordPress 3.5 をマルチサイト化したらループ地獄に陥ったので直す。