1

私は現在、別のホストにリダイレクトするためにnginxを使用して小さな問題に直面しています。例えば、https://service.company.com/new/test.htmlhttps://new-service.company.com/test.htmlにリダイレクトしたいと思います。Nginxが場所の下に戻る

今のところ私はhttps://new-service.company.com/new/test.htmlにリダイレクトされる次の設定をしています。

server { 
     # SSL 
     ssl_certificate /etc/nginx/cert/chained_star_company.com.crt; 
     ssl_certificate_key /etc/nginx/cert/star_company.com.key; 

     listen 443; 
     server_name service.company.com; 

     location /new/$1 { 
     return 301 $scheme://service-new.company.com/$1; 
    } 

} 

私も同じ結果で、次の試してみました:

return 301 $scheme://service-new.company.com/$request_uri 

答えて

1

あなたはURIを書き換え、リダイレクトしたいです。あなたはlocationreturnディレクティブを使用してそれを達成することができますが、rewriteディレクティブは、最も簡単な方法のようになります。

rewrite ^/new(.*)$ https://new-service.company.com$1 permanent; 

多くのためのthis documentを参照してください。

ところで、locationブロックソリューションの問題は、正規表現のキャプチャではありませんでした。使用:

location ~ ^/new(.*)$ { 
    return 301 https://new-service.company.com$1$is_args$args; 
} 

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

関連する問題