3

xyz.coという名前のWebサイトがあるとしましょう。また、xyz.com、xyz.it、xyz.co.itなどの同じプレフィックスを持つ他のドメイン名もあります。

現在、nginxはポート80のnginx.confのserver_name xyz.coで正常に動作します。他のすべてのドメインをxyz.coにリダイレクトし、上記のwww。*バージョンをxyz.coにリダイレクトします。どうすればこれを入手できますか?このnginxWebサーバーレベルは変更されますか?または、DNSでこの変更を行う必要がありますか?

更新:私はこれを試しましたnginx.confが、役に立たなかった...

server
{
listen 80;
server_name xyz.co xyz.com, xyz.it, xyz.co.it;
rewrite ^/(.*) http://xyz.co permanent;
}

最初にこの質問をServerFaultに投稿しようとしましたが、応答がありません-https : //serverfault.com/questions/453472/nginx-domain-name-redirects

4

1 に答える 1

5

リダイレクトが必要なすべてのドメイン名に対して 1 つのサーバー ブロックを追加します。このような:

server {
    listen 80;
    server_name xyz.com, xyz.it, xyz.co.it;
    rewrite ^ http://xyz.co$request_uri permanent;
}

xyz.co ドメインの別のサーバー ブロック:

server {
    listen 80;
    server_name xyz.co;

    #other settings
}

この方法では、リダイレクトする必要があるドメイン名の 1 つに移動すると、nginx は単純に xyz.co にリダイレクトし、すべての設定 (ルートフォルダー、ロケーション ブロックなど) を追加できる他のサーバー ブロックに移動します。

于 2012-11-29T22:13:04.960 に答える