295天前2019-02-22 09:58:49 |    抢沙发  429 
本文主要讲解如何在nginx生成环境中将一个站点加的url全部301重定向到另外一个站点域名的中,多用于站点更换域名,和百度站点改版中。

301

最近一段时间编辑部的一个站点需要对整站更换域名,但是需要保留原有权重和收录。于是研究了一下百度站长后台的站点改版。发现是可以实现的。

改版步骤大概分为如下几步:

1,让新域名和旧域名同时可以访问;(这个简单,就是在虚拟主机上直接绑定一下新域名上去就好了;)

2,给原来的老域名所有url都做上301重定向到新的域名上;(这个也简单只需要在nginx配置文件中加一个判断和跳转就OK了;)

3,在百度站长工具里面把新域名添加进去;(这个超级简单吧)

4,在百度站长工具里面的网站改版中,添加改版规则,直接指定一下新域名即可;

5,等待规则校验完成和更改;(这些都完成以后域名更换就OK了,PS建议301重定向一直保留或者至少保留3个月左右;)

至于百度后台的操作我就不写了,这里主要写一下nginx配置文件如何来做301重定向吧;

编辑配置文件:

vim /etc/nginx/conf/vhost/aaa.conf

在sever端中添加:

    if ($host = http://原域名) {
        return 301 http://新域名$request_uri;
    }
就可以实现自动全域名301重定向了。

完整配置文件如下:

server {
    listen       80;
    server_name  原域名 新域名;
    root         /etc/html/aaa/;
    if ($host = 原域名) {
	return 301 http://新域名$request_uri;
    }
    location / {
        index  index.html index.htm index.php;
	if (!-e $request_filename) {
         rewrite ^/(.*)$ /index.php?$1 last;
         break;
        }
        include     php-fpm.conf;
    }
error_log  /var/log/nginx/aaa_error.log;
access_log /var/log/nginx/aaa_access.log main;
}

这样就OK了,等所有的权重收录都转移以后就可以删掉跳转和旧域名的绑定了。

对了验证可以使用linux命令:

curl -i 原域名
返回:
Alex$ curl -i http://原域名
HTTP/1.1 301 Moved Permanently
Server: openresty
Date: Fri, 22 Feb 2019 01:33:04 GMT
Content-Type: text/html
Content-Length: 182
Connection: keep-alive
Location: http://新域名/

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
上面出现了HTTP/1.1 301 Moved Permanently 就说明301跳转是成功的,最简单的方法就是直接在浏览器中访问原域名就OK了看是否自动跳转到了新的域名,而且这样的跳转后面的url路径是都带上的不会丢失哦。

发表评论

暂无评论

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享