网站301重定向传递收录权重配置
当你的网站需要更换域名、合并页面或者统一入口时,301重定向是最标准的做法。
它告诉搜索引擎:旧地址已经永久搬家到新地址,请把收录权重和排名一并转移。
很多人以为随便写个跳转就行,实际配置错误会导致权重丢失甚至被判定作弊。
这篇文章按零基础能直接照做的方式,讲清楚不同环境下的配置步骤和避坑点。
配置前需要准备的东西
动手之前确认三件事:
- 旧域名和新域名的解析都已生效(通过浏览器能访问)。
- 确认服务器环境:Apache(常见于cPanel、宝塔)、Nginx(常见于宝塔、Oneinstack)还是IIS。
- 备份原有配置文件(比如.htaccess、nginx.conf或宝塔站点设置截屏),防止改错后回退。
不同服务器的301配置方法
一、Apache环境(使用.htaccess)
如果你的站点根目录下有.htaccess文件,用文本编辑器打开,在RewriteEngine On之后添加(如果没有,先创建):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^旧域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.旧域名.com$
RewriteRule ^(.*)$ https://新域名.com/$1 [R=301,L]
这段规则的作用:只要访问的是旧域名(带或不带www),就301跳转到新域名的对应路径。
最后一项$1可以保持路径不变,比如旧域名/123.html跳到新域名/123.html。
保存后上传覆盖,浏览器访问旧域名看是否跳转。
二、Nginx环境(修改站点配置文件)
在宝塔面板或直接编辑Nginx配置文件,找到旧域名的server块。
如果没有单独server块,可以在默认server内添加:
server {
listen 80;
listen 443 ssl;
server_name 旧域名.com www.旧域名.com;
# 如果有SSL证书,这里需要照常配置
return 301 https://新域名.com$request_uri;
}
关键点是$request_uri变量能保留原路径参数。
保存后执行nginx -t测试语法,没问题再systemctl reload nginx或宝塔面板里重载配置。
三、宝塔面板可视化操作
如果你用宝塔,进入宝塔面板 → 网站 → 点击旧域名站点 → 设置 → 域名绑定。
在“301重定向”功能里开启:
- 选择“旧域名” → 目标域名填新域名(带协议,如https://新域名.com)。
- 类型选“301”,保存即可。这种方式本质是在Nginx/Apache自动生成配置,适合不熟悉命令行的用户。
必须避开的几个坑
- 误用302暂时重定向:302不会传递权重,搜索引擎会认为旧页面只是临时搬家。一定要确认状态码是301。可以用浏览器开发者工具(F12 → 网络 → 查看第一条请求的状态码和Location头)。
- 循环跳转:新域名又跳回旧域名、或者A跳B、B跳C后回到A,会报“太多重定向”错误。配置前确认目标地址不再反向跳转。
- 路径映射错误:如果旧域名下多级目录也需要跳转,推荐用
$1或$request_uri保留完整路径。手动写死路径会导致图片、文章打不开。 - 只配了HTTP未配HTTPS:如果你的新域名强制HTTPS,旧域名的server块也要配好SSL证书并监听443端口,否则请求走HTTPS时无法触发跳转。
如何验证配置是否生效并传递权重
最简单的方法:在浏览器地址栏输入旧域名(带某条路径),回车后观察地址栏是否变成新域名对应地址。
更严谨的做法:
- 打开Chrome开发者工具 → 网络标签页 → 勾选“禁用缓存”。
- 再次访问旧域名,第一条请求的状态码应该是301,然后自动跟一条200请求(新页面)。
- 点击第一条请求,查看响应头里的
Location是否为你设置的正确新URL。 - 使用在线工具如“站长工具HTTP状态码检测”,输入旧域名URL确认返回301。
- 一周后观察搜索引擎站长平台是否有“旧地址被移除、新地址被收录”的报告。
如果以上检查都通过,说明301配置正确,权重会随着时间逐渐转移。
如果你在操作中遇到具体报错,欢迎在评论区留言,我会根据你的环境给出建议。