0

通常、「DOMAIN.net」を「www.DOMAIN.net」にリダイレクトするためにこのようにしますが、問題なく動作します。

<VirtualHost *:8080>
        ServerAdmin webmaster@DOMAIN.net
        ServerName DOMAIN.net
        RedirectPermanent / http://www.DOMAIN.net/
</VirtualHost>

新しいプロジェクトのために、すべてのサブドメインを www.DOMAIN.net にリダイレクトし、次のように試してみました。

<VirtualHost *:8080>
        ServerAdmin webmaster@DOMAIN.net
        ServerName DOMAIN.net
        ServerAlias *.DOMAIN.net
        RedirectPermanent / http://www.DOMAIN.net/
</VirtualHost>

しかし、これはおそらく *.DOMAIN.net も「www.DOMAIN.net」に対して機能し、ループに巻き込まれるため、無限リダイレクトのループに陥ります。

www-サブドメインがそれ自体にリダイレクトされないようにするために、どうにかしてエイリアスに例外を取得できますか?

編集:私もnginxを使用していることに気付きました。おそらくそこで実行する方が良いでしょう。私は現在使用しています

server {
        server_name DOMAIN.net;
        rewrite ^(.*) http://www.DOMAIN.net$1 permanent;
}

nginx の設定で。nginx構成ですべての(wwwを除く)サブドメインをリダイレクトするにはどうすればよいですか?

4

1 に答える 1

1

nginx で実行する場合は、構成を次のように変更する必要があります。

server {
    server_name DOMAIN.net www.domain.net;
    if ($host !~* ^www\.) { 
        rewrite ^(.*) http://www.DOMAIN.net$1 permanent;
    }
}   

これはすぐに使用できるはずです。残念ながら、この場合に if の使用を避ける方法はありません。

于 2013-05-03T14:10:34.180 に答える