更换域名后利用Nginx实现完美301跳转

nginx301跳转换域名 by 老李菜刀 at 2019-10-17

老域名的[server]定义

server {

listen 80; #监听80端口,保证http://老域名这样的形式可以被识别并301跳转到新域名。

listen 443 ssl;#监听443端口,保证https://老域名这样的形式可以被识别并301跳转到新域名。

server_name www.caidaoli.com;

这里声明的SSL证书就是为了保证https://老域名这样的形式可以被识别并301跳转到新域名。

ssl_certificate //ssl/www.caidaoli.com.pem; ssl_certificate_key //ssl/www.caidaoli.com.key;

这里通过条件判断凡事http前缀开头的老域名请求一律301跳转到新域名。

if ( $scheme = "http" ) {

return 301 https://photo.caidao.net$request_uri;

}

替换老域名链接为新域名链接,比如:https://www.caidaoli.com/123.html替换为https://photo.caidao.net/123.html

完全自动化的智能链接重写替换,访问这几乎是感觉不到的实现301跳转,这里主要是针对文章、页面等各类老域名链接网址的。

location / { rewrite ^(.*)$ https://photo.caidao.net$1 permanent; }

}