我想将http://abc.example.com的所有子域名重定向到https://abc.example.com。
答案 0 :(得分:0)
这适用于example.com
到www.example.com
:
server {
listen 80;
listen [::]:80;
server_name *.example.com;
return 301 https://www.example.com$request_uri;
}
所有子域名从http
到https
:
server {
listen 80;
listen [::]:80;
server_name *.example.com;
return 301 https://$host$request_uri;
}
注意server_name *.example.com
您也可以使用$server_name
如果主机名与server_name列表中的第一个名称不匹配。确保您的内容仅在规范主机名中可用,例如避免重复的内容问题(SEO)。非常适合将非www重定向到www或将www重定向到Nginx中的非www,只要您的服务器块仅适用于单个网站。
server_name example.com www.example.com example.net www.example.net _;
if ( $host != $server_name ) {
return 301 $scheme://$server_name$request_uri;
}
检查此网站nginx-redirect是否有扩展版
答案 1 :(得分:0)
试试这段代码,
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name *.example.com;
if ($scheme = http) {
return 301 https://$host$request_uri;
}