kzyzさん
.htaccess とどの子サイトかを判別する wp-includes/ms-settings.php のロジックは基本的に1階層のみ有効な記述になっています。
この2つを、1階層でも2階層でも有効に動作するように改変すれば、もしかしたら動くかもしれません。
ただし、WordPressの動作原理をよく理解しておかないとかなり難しいかと思います。
トピック投稿者
kzyz
(@kzyz)
jim912さん
情報ありがとうございます。
こちらでもいろいろ情報を探していたら、同じ悩みを抱えている方も多いようで、
英語のサイトに解決できそうな情報をみつけました。
WordPress Hacks: Nested Paths For WPMU Blogs
ただWordPress MUが対象のようでsunrise.phpは少し修正が必要でした。
まず3行目
$current_site->domain = $domain = DOMAIN_CURRENT_SITE;
を
$domain = DOMAIN_CURRENT_SITE;
$current_site->domain = $domain . '/';
33行目
$current_site->site_name = ucfirst( $current_site->domain );
を
$current_site->site_name = ucfirst( rtim( $current_site->domain, '/' ) );
のように変えないと、network_site_urlの返り値がおかしくなります。
あと10行目と11行目の間に
if ( !in_array( 'network', $patharray ) ) {
24行目と25行目の間に
}
で囲って条件分岐をしてあげないと、
サイトネットワーク管理がリダイレクトのループで開けなくなります。
そしてコメント欄にもあるのですが、全体を<?php ?>
で囲むのを忘れがちです(笑)
あとは、コメント欄の情報を参考に.htaccessの
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
を
RewriteRule ^([_0-9a-zA-Z-]+/)+(wp-(content|admin|includes).*) $2 [L]
に変えてあげることで自分の環境ではうまく動きました。
ただ他にも不具合がある可能性も否めないので、
あくまで参考まで。