Nginx 旧域名跳转到新域名的设置方法

  这两天已经把我之前的一个网站整合了进来,做了一次两个 WordPress 的合并,所有的数据都保留下来了。数据搞定之后,很重要的一步就是设置旧域名向新域名的 301 跳转,否则之前旧站的访问量会全部丢失,也严重影响 SEO。

  我 VPS 上用的是 Nginx 服务器,接下来进行配置。开始之前,先补充点知识。

301 和 302 跳转的区别

301跳转:永久性转移(Permanently Moved)
302跳转:暂时性转移(Temporarily Moved

共同点:二者都表示重定向,浏览器在获取服务器的返回码后会自动根据头部的Location值跳转到新的URL地址;
不同点:301表示旧地址被永久地移除了,已经不可访问;302表示旧地址还在,只是临时进行跳转,后续还是访问旧地址。

Nginx 设置旧域名301跳转到新域名

  Nginx 里的 rewrite 模块是专门负责静态重写的。基本用法是:rewrite patten replace flag。patten是正则表达式,与patten匹配的URL会被改写为replace,flag可选。例如将旧域名跳转到新域名上:

server
{
listen 80;
server_name www.old.com;
rewrite ".*" https://www.hack520.com;
}

如果是跳转到新域名上时要保留路径,那么:

server
{
listen 80;
server_name www.old.com;
rewrite "^/(.*)$" https://www.hack520.com/$1;
}

还有一种方式,如果域名不是 www.hack520.com 就统一转到 https://www.hack520.com:

server {
listen 80;
server_name hack520.com www.hack520.com ihacksoft.com www.ihacksoft.com ;
if ($host != 'www.hack520.com') {
rewrite ^/(.*)$ https://www.hack520.com/$1 permanent;
}
}

也可以单独增加一个 Server,在里面统一设置,permanent 是301跳转:

server {
listen 80;
server_name hack520.com ihacksoft.com www.ihacksoft.com;
rewrite ^/(.*)$ https://www.hack520.com/$1 permanent;
}

rewrite 与 location 配合实现图片文件跳转到cdn:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
rewrite "^/uploadfile\/(.*)$" https://cdn.hack520.com/uploadfile/$1;
}

rewrite 正则表达式 替换目标 flag标记:

last – 基本上都用这个 Flag,相当于 Apache 里的 [L] 标记,表示完成 rewrite。
break – 中止Rewirte,不再匹配后面的规则。
redirect – 返回302临时重定向,地址栏会显示跳转后的地址。
permanent – 返回301永久重定向 地址栏会显示跳转后的地址。

人已赞赏
建站经验

OSS CDN 加速后的流量计费详细计算方法

2020-12-22 22:46:45

建站经验

WordPress 外链远程图片自动下载到本地,纯代码非插件!

2020-12-25 10:44:51

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索