サポート » マルチサイト » サブディレクトリ型のマルチサイト化でのエラー

  • 困っていることがあるので、
    ご教授して頂ける方がいましたら、お願いいたします。

    先日、サブディレクトリでマルチサイト化を
    試みたのですが、最後につまづいてしまいました。

    マルチサイト化してサイトを増やした所
    新しく作成した方のダッシュボードに入れなくなってしまいました。

    「このウェブページにはリダイレクト ループが含まれています
    エラー コード: ERR_TOO_MANY_REDIRECTS」

    と出て、まだ一度も新しいサイトのダッシュボードに入れていません。

    メインサイトは、ダッシュボードもサイト自体も正常に表示されていますが
    新しく作成したサイトは表示も文字だけでした。

    過去の質問や、ネットで調べたところ「.htaccess」ファイルが
    まちがっているのではないかと思い
    いろいろ試行錯誤してみたのですが
    どうしてもこのエラーが出てしまいます。

    私のディレクトリの作成およびワードプレスの設置が
    間違っていたのか、構造が少し特殊になっていて
    どこかで間違っているとは思うのですが
    それを突き止めることができません。

    私のワードプレスが設置してあるのが
    サーバーの直下に「1」というフォルダがあり
    その中に「.htaccess」ファイルとまた「1」というフォルダがあります。

    こちらの「.htaccess」ファイルの記述は以下の通りです。

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /1/
    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).*) /$2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /$2 [L]
    RewriteRule . index.php [L]
    # END WordPress

    その、再度出てきた「1」フォルダの中にワードプレスが
    インストールされています。

    ワードプレスがインストールされている方にも
    「.htaccess」ファイルが存在しており

    どこを修正していいか、わからなくなってしまいました。

    ワードプレスと一緒に存在している「.htaccess」ファイル
    の方は、以下の通り記述してあります。

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /1/
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /1/index.php [L]
    </IfModule>
    # END WordPress

    おそらく、この構造が2層になってしまっているから
    リダイレクトループしてしまうのか

    「.htaccess」ファイルの記述が間違えていて
    リダイレクトループになってしまっているのか

    はたまた、違う理由なのか、見当がつかない状態です。

    ネットで調べた限りでは、似た症状の記事を見る限り
    「.htaccess」ファイルの様な気がするのですが
    原因がわからず、途方に暮れています。

    リダイレクトループにハマってしまった。
    という記事は数多くあったのですが

    私のようなパターンでの解決法が見つからず困っています。

    原因が解る様でしたら、ご指導いただけると幸いです。

    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 youhey

    (@youhey)

    お世話になっております。

    サーバー情報を追記いたします

    サーバーはさくらサーバーを使用しております。

    その後、色々と調べながら
    「.htaccess」ファイルをいじっていました所
    子サイトのダッシュボードにはアクセスできました。
    更に、サイトの見た目もテンプレートが適用されていました。

    が、今度はどちらのダッシュボードでも
    プラグインが表示されない状態となってしまいました。

    左のメニューに「インストール済みのプラグイン」という項目は
    あるのですが、有効になっていたはずのプラグインが
    表示されていません。

    無効のプラグインは表示されていました。

    サーバー内のプラグインのフォルダの中には
    有効になっているはずのプラグインのフォルダは
    それぞれ残っていました。

    消えてしまったわけでは無いと思うのですが
    設定できなくなってしまっている状態です。

    昨日の質問の通り、私のワードプレスのインストール先が
    「sample.com/1/1」というように
    ルートの下に「1」というフォルダがあり
    そこに「.htaccess」だけがあります。

    その「1」のさらに下にワードプレスが
    インストールされており、そちらにも「.htaccess」ファイルが
    存在している状態です。

    おそらく、「.htaccess」ファイルを書き込んでいるうちに
    プラグインの設定が出来なくなってしまうような

    記述があるのかもしれないのですが
    それが、どこを手直ししたらよいかが解らない状態です。

    ルートディレクトリにある「1」フォルダの中
    にある「.htaccess」ファイルの記述は、以下の通りです

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    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).*) /$2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /$2 [L]
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    更に、ワードプレスがインストールされている「1」フォルダ
    の中にある「.htaccess」ファイルには

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /1/
    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).*) /1/$2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /1/$2 [L]
    RewriteRule . /1/index.php [L]
    </IfModule>

    # END WordPress

    と記述してあります。

    マルチサイト化で何日もハマってしまっていて
    混乱状態ですが、誰かご教授頂けたら幸いです。

    どうか、よろしくお願いいたします。

    サブディレクトリ用のhtaccessです(codexより)

    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).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    マルチサイトはルートにファイルを展開した形でしか運用していませんが、可能であれば1からルートに移した上でマルチサイト化を試みて下さい。

    トピック投稿者 youhey

    (@youhey)

    ありがとうございます。

    試してみます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「サブディレクトリ型のマルチサイト化でのエラー」には新たに返信することはできません。