我们可能会因为各种原因,不得不更换我们的域名,但旧的域名在搜索引擎上已经被收录过,具有一定的权重,如果我们贸然更换域名而不进行管理的话,那么以前的网站所拥有的权重将不复存在,如果旧域名的权重能转移到新域名那岂不美滋滋。
办法还是有的,我们可以利用301重定向来完成这个工作(同样也适用于网站改版)。
注意:我们需要做的是全站301重定向,所以在我们更换域名后,一定要确保旧的站点是可以访问的,并且新的网站目录结构和链接要与旧的网站完全一致。
Apache
使用 .htaccess 将旧域名 301 重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://www.新域名.com/$1 [R=301,L]
.htaccess一定是放在旧网站的根目录中,如果您的旧网站已经有该文件,直接修改即可。
Nginx
推荐使用return指令,因为rewrite指令需要执行完所有正则匹配后,Nginx 才会知道这是一个301重定向。
# 使用rewrite,通过正则匹配所有的URI后再去掉开头第一个/(反斜线)
rewrite ^/(.*)$ https://www.新域名.com/$1;
# 使用rewrite指令,不同的是通过$request_uri变量匹配所有的URI
rewrite ^ https://www.新域名.com$request_uri? permanent;
# 使用return指令,通过301状态码和$request_uri参数,直接告诉Nginx这是个301重定向和抓取指定URI
return 301 https://www.新域名.com$request_uri;
至此,就完成了内页不变只换域名的301全站跳转。