この環境はWordpress MultisiteがインストールされたNginxです。
プライマリマルチサイトドメイン(domain.com、www.domain.comなど)を別のドメイン(domain-new.com、www.domain-new.comなど)にリダイレクトする必要があります。しかし、サブフォルダをリダイレクトしたくありません。たとえば、/ wp-admin /フォルダはリダイレクトしないようにする必要があります。そうしないと、マルチサイトネットワークを管理できなくなります。
明らかに、私は他のどのドメインもリダイレクトしたくありません。上記のものだけ。
私はApacheでこれを行う方法についての指示を見つけました、しかし私はNginxでそれを理解することができませんでした。
私は次のことに出会いました:
server {
listen 80;
server_name domain.com www.domain.com;
rewrite ^ $scheme://www.domain-new.com$request_uri permanent;
しかし、これはdomain.comのサブフォルダもリダイレクトします。どのようにリダイレクトからwp-admin
フォルダを除外するようにするべきでした。
私もこの選択肢に出くわしました:
location = / {
rewrite ^ http://domain-new.com/$uri permanent;
}
しかし、location
コマンドにドメインを含めることができるかどうか、および可能であれば、特定のサブフォルダー(wp-admin
)をリダイレクトに含めないようにする方法については、何もわかりませんでした。
nginx
サーバーブロックが複数のドメインを処理している場合、最も簡単な解決策はif
ブロック内で$Host
パラメータをテストすることです。また、rewrite
ステートメントを単一のURIにのみ一致するように変更します。
例えば:
if ($Host = domain.com) {
rewrite ^/$ https://new-domain.com permanent;
}
これは既存のserver
ブロックの最上部近くに配置されます。