5个网站改版或者更换域名301重定向设置详细案例(值得收藏小细节)

今天下午老蒋帮助一个网友在解决网站数据迁移问题。他目前有两个域名网站,其中一个站点准备关闭掉。但是希望数据用到另外一个站点中。不过另外一个站点是有数据的,但是数据全部删除不要。其实说到底,就是就是要将站点更换一个域名。但是并不是简单的更换,还需要做301重定向设置的。而且需要保持原有的URL地址。

这不正好借助这次机会,老蒋单独较为详细的整理一篇网站改版或者更换域名的时候301重定向设置。这里整理几个我们常用的设置案例,而不是去说什么概念,这些都没有用。你需要什么样子的,直接照着案例修改就可以,废话少说,我们一起看看吧。

5个网站改版或者更换域名301重定向设置详细案例(值得收藏小细节)

这里需要插一句的,如果我们服务器Nginx和Apache,还是稍微不同的,这里我较多的还是以Nginx 引擎为主,也会有部分是Apache,因为这个引擎我们可能用的不是特别多。Apache设置301在根目录 .htaccess文件设置添加,添加后是即时生效的。Nginx 设置是在配置文件域名下的.conf文件中,且设置后需要重启Nginx才能生效。

1、全部设置跳转WWW前缀域名

一般我们的域名是有WWW和不带WWW的,一般我们习惯上会有WWW域名作为完整域名。这里我们不去介绍实际上一级域名是不带WWW的,我们就以约定俗成的习惯。我们希望不论打开WWW还是不是WWW的域名都跳转到WWW的域名。

# Apache

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.itbulu.com$ [NC]
RewriteRule ^(.*)$ http://www.itbulu.com/$1 [R=301,L]

# Nginx

 if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
 if ($host != www.itbulu.com) {  return 301 $scheme://www.itbulu.com$request_uri;  }

2、跳转到其他域名

# Apache

RewriteCond %{HTTP_HOST} ^www.老域名.com$ [NC]
RewriteRule ^(.*)$ http://www.新域名.com/$1 [R=301,L]

# Nginx

if ($host != 'www.新域名.com' ) {
rewrite ^/(.*)$ http://www.新域名.com/$1 permanent;
}

直接在老站点配置文件设置新域名强制跳转。

3、访问A域名跳转到B

比如我们更换新域名后,我们访问A的时候需要跳转到B。那需要在A设置。

server {
    listen   80;
    server_name www.老域名.com;
    return       301 http://新域名.com$request_uri;
}

这个我们需要作用在老域名站点配置文件,全部跳转到新站点域名。

4、Nginx HTTP跳转到HTTPS

如果我们有开启HTTPS,那这个肯定是有需要用到的。

server_name www.itbulu.com itbulu.com;
if ($host != 'www.itbulu' ) {
  rewrite ^/(.*)$ https://www.itbulu/$1 permanent;
}

5、Apache HTTPS跳转

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.laobuluo.com/$1 [R,L]

这几个是我们常用的网站改版或者是换域名,常用的301重定向案例,如果我们有需要的话,选择其中需要的设置就可以。

关于301重定向的文章:

1、分享五款WordPress跳转外链接插件实现301跳转

2、解决网站设置强制301跳转之后无法打开的问题

3、宝塔面板设置301跳转重定向的2个简单方法记录

4、Apache环境.htaccess设置301跳转及常用.htaccess技巧整理

5、lnmp设置301重定向跳转至WWW域名及更换域名重定向方法

本文出处:老蒋部落 » 5个网站改版或者更换域名301重定向设置详细案例(值得收藏小细节) | 欢迎分享( 公众号:老蒋玩运营 )