有的网站域名是根域名和带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; # nginx 端口号
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便是重定向的地址。