nginx 下 https 下的 www 跳转不带 www

2018-12-11 10:01:01 +08:00
 yantianqi

如何实现

https://www.abc.com 跳转到 https://abc.com
以及 https://www.abc.com/abc 跳转到 https://abc.com/abc

3157 次点击
所在节点    程序员
14 条回复
freshmanc
2018-12-11 10:13:05 +08:00
CNAME 就能干这事了吧
xiwangzishi
2018-12-11 10:18:13 +08:00
```nginx
server{
listen 443;
server_name www.abc.com;
return 301 https://abc.com$request_uri;
}
```
zpf124
2018-12-11 10:19:28 +08:00
server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://zfly.me$request_uri;
}


我是把所有的请求都转到不带 w 的上了, 你如果只需要把 www 转到不带 w 的上,那就把上面的哪个 defalut_server 删了,然后加一行 server_name www.example.com;
yantianqi
2018-12-11 10:21:43 +08:00
@xiwangzishi 对,网上搜索了老半天,突然想到 https 是监听 443,所以配置 443 跳转,是这样配置。
yantianqi
2018-12-11 10:51:50 +08:00
总结了一下配置 nginx 跳转过程[配置 nginx]( https://kkfor.com/article/5c0e8bc5ed10584962b64650)
xpresslink
2018-12-11 11:10:51 +08:00
直接在 DNS 上添加一条 CNAME 解析一下多好啊,为毛要这么脱了裤子放屁?
jarry777
2018-12-11 11:55:04 +08:00
@xpresslink

1、CNAME 不传递权重
2、CNAME 只是解析,浏览器地址显示的仍然是原地址,在本例中,如果子域名和裸域名证书不同会报错

张口就说一件事是脱裤子放屁只能暴露你的无知和素质低下
xpresslink
2018-12-11 13:13:41 +08:00
@jarry777 如果需要显示新地址, 现在 DNS 也都支持 301 重定向呀, 绝对比你自己搭的服务器可用性强.
Timgle168
2018-12-11 15:42:06 +08:00
配置 nginx 使它强制跳转到 https 就行
lhx2008
2018-12-11 15:43:31 +08:00
@xpresslink dns 301 一般不支持 https
talas
2018-12-12 08:24:41 +08:00
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
talas
2018-12-12 08:27:30 +08:00
呃 apache 下这样实现,找找在线工具可以转 nginx。
talas
2018-12-12 08:30:44 +08:00
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^name.org [NC]
RewriteRule ^(.*)$ http://name.org/$1 [L,R=301]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
这个是不带 www 且 http 跳转 https 的 apache 规则
lichao
2018-12-12 08:59:43 +08:00


仅供参考

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516369

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX