2016-09-10 1 views
0

私はこれを使用:www以外のURLをwww.domain.comにリダイレクトする方法と、mginx/subdomain.domain.comをnginxと同じように保つ方法はありますか?

サーバー{
         サーバー名; "〜^ *(?! WWWを。)。"
          return 301 $ scheme://www.$host$request_uri;
}

しかし、これはすべてをリダイレクトします。私はこれと一緒にサブドメインの例外を書く必要があります。

+0

サブドメインごとに完全に一致するサーバーブロックがある場合は、この正規表現ブロックよりも優先する必要があります – miah

答えて

0

server_name "~^(?!www.).*"を含むサーバーブロックがm.domain.comと一致する場合、明らかにserver_name m.domain.comという別のサーバーブロックはありません。

複雑な正規表現を使用してWebサイト名をデフォルトのサーバーブロックにリダイレクトするのではなく、デフォルトのサーバーブロックを使用してリダイレクトを実行できます。例えば

server { 
    listen 80 default_server; 
    return 301 http://www.domain.com/$request_uri; 
} 
server { 
    listen 80; 
    server_name www.domain.com m.domain.com subdomain.domain.com; 
    ... 
} 

詳細はthis documentを参照してください。

関連する問題