0

サーバーのペアがあり、展開方法のために同じを使用する必要があるとしますnginx.conf。サーバーの 1 つは にあり、もう 1 つは にありstaging.someserver.comますwww.someserver.com

私が欲しいのは、ドメイン上のすべてのもの (主に http では www と非 www、https では非 www) をリダイレクトする単一の書き換え行またはifhttps://www.someserver.com/条件http://staging.someserver.com/です。これどうやってするの?https://staging.someserver.com/https://www.someserver.com/

4

2 に答える 2

1

これは Nginx 構成のトリックです。HTTP ブロックの最初のサーバー ブロックは「デフォルト」構成になります。

したがって、最初のサーバー ブロックですべてをリダイレクトし、www. 構成 !

それが最善の解決策です。

于 2013-04-29T07:04:54.330 に答える
-2

これが厳密にこれを行うための最良の方法であるかどうかはわかりませんが、私は何かを理解しました:

server {
    listen 443 default deferred;

    # ...

    if ($host !~ (staging)|(www).*)
        rewrite ^(.*) https://www.someserver.com$1 permanent;
    }
}

server {
    listen 80;

    # ...

    if ($host !~ staging.*) {                                   
        rewrite ^(.*) https://www.someserver.com$1 permanent;    
    }                                                           
    if ($host ~ staging.*) {                                    
        rewrite ^(.*) https://staging.someserver.com$1 permanent;
    }                                                           
}
于 2012-05-23T11:41:15.540 に答える