2016-04-09 15 views
0

私は自分のドメイン(www.domain.com)のルートを他のドメインの特定のページにリダイレクトしたいと考えています。nginxはルートドメインとサブパスを別々にリダイレクトします

誰かが自分のドメイン(www.domain.com/something)のサブパスに行くと、同じ$ request_uriを持つ他のドメインにリダイレクトする必要があります。

私は、次の設定を試してみたが、何とか後者302は常にトリガ..

server { 
    listen 80; 
    server_name server_name ~^(?<subdomain>.+)\.domain\.com$ domain.com; 
    location =/{ 
      return 302 https://www.otherdomain.com/special/something; 
    } 
    return 302 https://www.otherdomain.com/$request_uri; 
} 

私の思考は、多分、後者302は同様にそれは/専用試合を持っていた場所のブロックであるべきであるということです..しかし、私は自分自身でこの問題を解決することはできませんでした。

答えて

1

次のコードは、問題を解決します。 (あなたのnginxサーバー名はwww.domain.comと仮定します)。 www.domain.comを押すと、特定のページにリダイレクトされます。パスに言及すると、そのパスにotherdomainというサーバにリダイレクトされます。

if ($request_uri = "/"){ 
     return www.otherdomain.com/special/something; 
     break; 
    } 
return www.otherdomain.com$request_uri; 
関連する問題