我有一个与此类似的 nginx 配置:
server {
server_name my-english-site.com my-french-site.com;
listen 0.0.0.0:80;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 0.0.0.0:443 ssl;
server_name my-english-site.com my-french-site.com;
}
当有人去http://my-french-site.com,它会重定向到https://my-english-site.com,因为重写指令使用$server_name
指令中的第一个服务器。
我尝试$server_name
用替换$host
,希望它使用请求标头的值Host
。但它仍然重定向到英文网址。
如何将非 HTTPS 请求重定向到相应的 HTTPS URL?
谢谢你!
答案1
显然,使用$host
变量是实现此目的的方法(感谢@gparent)。我刚刚再次测试了它,它有效。