http://aaa.com
http://www.aaa.com
https://aaa.com
以上三个全部重定向到 https://www.aaa.com
nginx 的配置的话,就像上面所说, 但是如果你使用了 CDN了的话,如果不是协议跟随回源的话,你可能还要根据两个 HEADER 头来判断协议跳转. X-Forwarded-Proto
HTTPS
等等,具体你可以看下文档..
当然,还有一种方式就是 DNS 的显性URL解析
,可以了解下.
你既然已经看到了官方说这样做是不对的,你往下多看一行,就会有?,让你为每一个 host 都创建一个 server 配置,让后让其 return 301 到目标主机上。
This is a wrong, cumbersome, and ineffective way. The right way is to define a separate server for example.org
:
server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}
server {
listen 80;
server_name www.example.org;
...
}
8 回答3.8k 阅读
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答878 阅读✓ 已解决
2 回答1.4k 阅读
在每个http的 server 模块中添加
rewrite ^/(.*) https://www.aaa.com/$1 permanent;