2017-04-08 7 views
1

ワイルドカードサブドメインを使用するサーバーブロックがあります。例は* .example.comです。 1つのサブドメインの1つのページを別のページにリダイレクトする必要があります。他のすべてのリクエストは通常​​処理されます。これを処理する最も効率的な方法は何ですか?Nginxは、ワイルドカードサブドメインを使用している間、単一サブドメイン上の単一ページをリダイレクトします。

サーバーブロックは次のようなものになります。

server { 
    listen 80; 
    server_name *.example.com; 
    .... 
} 

をそして私は、この動作を必要とする:

http://baseball.example.com/test.php - >なしリダイレクト - >http://baseball.example.com/new-page

http://football.example.com/test.php - >なしリダイレクト

http://basketball.example.com/test.php

答えて

1

処理の観点から最も効率的な方法は、特別な場合に別のserverブロックを作成することです。ほとんどの構成は両方のサーバーブロックで同じであるため、includeステートメントを使用して別のファイルから読み取ることができます。例えば

server { 
    listen 80; 
    server_name *.example.com; 
    include /path/to/common.config; 
} 
server { 
    listen 80; 
    server_name baseball.example.com; 
    location = /test.php { 
     return 301 /new-page; 
    } 
    include /path/to/common.config; 
} 

は、より多くのためにthis documentを参照してください。

+0

いいアイデアは、これが最良の選択だと思います。ヒントをありがとう! – Jeff

関連する問題