在访问 www.example.com/* 时,通过 Nginx 的配置将用户重定向至 example.com/*。由于网站支持https,需要同时实现以下跳转:
http://www.example.com/* -> http://example.com/*
https://www.example.com/* -> https://example.com/*
https://www.example.com/* -> https://example.com/*
但是,根据网络找到的以下方法,无法在同时支持 http/https 的一个 server 配置内实现这个需求。
if ($host ~* www.example.com) {
rewrite ^/(.*)$ http://example.com/$1 permanent;
}
解决rewrite ^/(.*)$ http://example.com/$1 permanent;
}
利用 Nginx 的 $scheme 变量,解决此问题。
if ($host ~* www.example.com) {
rewrite ^/(.*)$ $scheme://example.com/$1 permanent;
}
rewrite ^/(.*)$ $scheme://example.com/$1 permanent;
}