web-dev-qa-db-ja.com

nginxでルートパスのみをリダイレクトする方法は?

ルートパスをドメインAからドメインBにリダイレクトするだけです。たとえば、ユーザーが https://www.a.com/ または https:// www。 a.com または http://a.com すべてが https://www.b.com/ にリダイレクトされますが、ユーザーが入力した場合 https://www.a.com/something/ リダイレクトせずにそのまま保持します。

私は以下を試しました:

location / {
    return 301 https://www.b.com/;
}

しかし、ユーザーが https://www.a.com/something/ と入力した場合でも、すべてをwww.b.comにリダイレクトします。

18
Zhang Buzz

わかった。

location ~ ^/$ {
    return 301 https://www.b.com/;
}
34
Zhang Buzz

私は別の同様の解決策を見つけました、もっと簡潔だと思います:

location = / {
    return 301 http://www.b.com/;
}

ソースへのリンク

3
Ikrom