3.5.1ja のマルチサイト設定 -> サブディレクトリ編

Posted by muchag | WordPress |
初回投稿:2013-04-21 (日) 18:56:42 | 最終更新:2013-04-21 (日) 18:57:31

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 をマルチサイト化したらループ地獄に陥ったので直す。

Posted by muchag | WordPress |
初回投稿:2013-04-21 (日) 18:56:42 | 最終更新:2013-04-21 (日) 18:57:31