我有一个类似于这个nginxconfiguration:
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时 ,它会redirect到https://my-english-site.com ,因为rewrite指令使用$server_name
指令中的第一个服务器。
我尝试用$server_name
$host
replace$server_name
,期望它使用Host
请求头的值。 但是它仍然会redirect到英文url。
如何将非HTTPS请求redirect到相应的HTTPS URL?
谢谢!
显然使用$host
variables是这样做的(谢谢@ gparent)。 我只是再次testing它,它的工作原理。