WordPressのマルチサイトを作成する案件があって、さくらのレンタルサーバーにWordPressをインストールしてマルチサイトの設定を行いました。
メインサイトのトップを/
にして、ディレクトリ型でマルチサイトをインストールしたまでは良かったのですが、サブサイトを作成してサブサイトの管理画面にアクセスしようとするとリダイレクトループが発生し管理画面にアクセスできない状況にハマってしまいました。(サブサイトそのものはリダイレクトループが発生すること無く表示されていました...
サイト構成
/site-root <- サイトのルートのディレクトリ |- .htaccess |- index.php |- /wordpress <- WordPress本体 |- wp-config.php
ネットワーク有効化の際に出力される .htpaccess に記入するコードに問題があった
さくらのレンタルサーバーでマルチサイトのネットワークを有効した時に表示されるRewriteRuleに不要なパスが出力されてしまっていてるのがリダイレクトループになってしまう原因のようでした。
ネットワークの有効化の際に表示される.htaccess
の設定👇
2.次の内容を /home/user/www/
にある .htaccess
ファイルへ追加して、他の WordPress ルールを置き換えてください:
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).*) site-root/wordpress/$2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ site-root/wordpress/$2 [L] RewriteRule . index.php [L]
よく見ると、/www
直下の.htaccess
に記入するようにと書かれています。
ドメインを/site-root
ディレクトリに指定している場合はWordPressの.htaccess
は/site-root
直下にあるので、出力される設定ではパスが異なってしまうのが原因のようです!
RewriteRule のパスを修正する
下から2つ目と3つ目の設定
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) site-root/wordpress/$2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ site-root/wordpress/$2 [L]
ここにあるパスを.htaccess
のあるドメイン指定してある/site-root
からみてのWordPress本体があるパスに修正します。
このケースではWordPress本体は/site-root
からみるとwordpress
ディレクトリになるので次のように修正します。
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wordpress/$2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wordpress/$2 [L]
仮に/site-root
に直接WordPressのコアファイルが置かれている場合は次のような感じです。
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
マルチサイトを作ったのは初めてで、注意書きを見をとしてしまっていたためにパスの違いに気づかずハマってしまいました。
サブサイトのそのものが閲覧できていたので余計に、ナゼ管理画面だけリダイレクトループになるんだ!? と盛大にハマりました。
今日のアイカツ格言
「注意書きはちゃんと読もう!」
- ネットワークの作成 - WordPress Codex 日本語版
- WordPressマルチサイトのメリット・デメリット・設定方法 | 株式会社ベクトル | 名古屋でWordPressを活用したウェブ制作・システム開発
- WordPressをマルチサイトに対応させる場合の注意点|ふにろぐ
- WordPressマルチサイト化で重要となる「リダイレクトループの回避方法」
- WordPressでマルチサイトを作る際と、リダイレクトループが起きた時の覚書

ローリーとふしぎな国の物語 ~プログラミングとアルゴリズムにふれる旅~
- 作者: カルロス・ブエノ,奥泉直子
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/02/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る