有的网站域名是根域名和带www的二级域名都可以访问,比如本站jerrycoding.com 和 www.jerrycoding.com都可以访问。但是这样对搜索引擎来说是两个站,会存在权重分流的情况。我们可以借助nginx配置301重定向,使根域名jerrycoding.com的访问强制重定向到二级域名www.jerrycoding.com。
配置很简单,我直接上大体配置:
修改nginx的配置如下,主要有三个部分
下面的配置301重定向 将 http://www.test.com 以及 http://test.com 重定向到 https://www.test.com 也就是 实现 http到 https 的重定向
server | |
{ | |
listen 80; | |
server_name www.test.com test.com; | |
return 301 https://www.test.com$request_uri; | |
} |
下面的配置,实现301重定向 将 https://test.com 到 https://www.test.com 也就是实现根域名到www二级域名重定向
server | |
{ | |
listen 443 ssl; | |
server_name test.com; #绑定域名return 301 https://www.test.com$request_uri; | |
} |
最后的配置,处理 https://www.test.com的server配置
server | |
{ | |
listen 443 ssl; # nginx 端口号 | |
server_name www.test.com; #绑定域名 | |
location /static | |
{ | |
# 静态文件配置 | |
} | |
location /media | |
{ | |
# 媒体文件配置 | |
} | |
location / | |
{ | |
uwsgi_pass | |
include | |
} | |
} |
配置修改完毕后执行 nginx -t 检查配置,检查没有问题后,执行 nginx -s reload 重启 nginx服务即可。
最好再浏览器中检查网站访问效果时,最好清理下浏览器的缓存cookie等。可以看到访问test.com时都会返回301重定向,而location便是重定向的地址。