マルチサイトネットワーク上の私の主要なウェブサイトはwww
接頭辞(www.example.com
のように)で作成されました。
www
接頭辞のないページにアクセスしようとすると(example.com/page-name/
の代わりにwww.example.com/page-name/
のように、私はホームページ(www.example.com
)にリダイレクトされます。単に同じページURLにリダイレクトされるので、www
接頭辞のみを使用します) 。
また、404エラーページはプライマリサイトでは機能しません。存在しないURL(www.example.com/thisdoesnotexist
など)を試しても、テーマの404ページが表示されるのではなく、常にプライマリサイトのホームページ(www.example.com
)にリダイレクトされます。
これは私のサイトへの リンクです あなたは問題をテストすることができます。
現在、NOBLOGREDIRECT
定数を処理する機能にバグがあります。これは、メインサイトの404エラーを定数の値にリダイレクトさせる原因となります。どうやらこれはサブディレクトリネットワーク(example.com/subsite
)の予想される動作ですが、サブドメインネットワーク(subsite.example.com
)の上で起こるべきではありません。
このバグに関して WordPress Tracチケット(#21573) がありますが、いつそれが解決されるかについての指示はありません。それまでは、maybe_redirect_404
関数を削除することで、このエラーを自分で解決できます。
remove_action( 'template_redirect', 'maybe_redirect_404' );
このコードは.php
ディレクトリのwp-content/mu-plugins
ファイルに入れる必要があります。ファイルの先頭に<?php
タグを含めることを忘れないでください。
.htaccess
をチェックして
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
これは、ワードプレスインストールがインストール中に作成する基本的なhtaccessパラメータです。行番号3が重要です。