一、什么是301重定向
301重定向(Moved Permanently)是HTTP协议中的永久性跳转状态码。当服务器返回301响应时,表示请求的资源已被永久移动到新位置。与302临时跳转不同,301会向搜索引擎传递明确的权重转移信号。
技术特征:
- 状态码:HTTP/1.1 301 Moved Permanently
- 缓存特性:客户端和搜索引擎会长期缓存跳转关系
- 权重传递:90%-100%的SEO权重会转移到新URL
二、典型应用场景
- 网站改版换域名
- 从old.com迁移到new.com
- 保持所有页面路径不变,仅修改域名部分
- URL标准化
- 将带www和不带www的版本统一
- 处理大小写敏感问题(如Product.html → product.html)
- 内容合并策略
- 多个相似页面合并时保留主页面权重
- 旧产品页跳转到新产品分类页
- HTTPS升级
- 将http://强制跳转到https://
- 保持所有参数和锚点完整传递
三、服务器配置方法
Apache服务器配置
# .htaccess文件配置示例 RewriteEngine On RewriteCond %{HTTP_HOST} ^old.com$ [NC] RewriteRule ^(.*)$ https://new.com/$1 [R=301,L] # 非WWW跳转到WWW RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Nginx服务器配置
server { listen 80; server_name old.com; return 301 https://new.com$request_uri; } # 处理带斜杠问题 rewrite ^(/path)([^/])$ $1$2/ permanent;
PHP实现方案
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: https://new-domain.com/new-path"); exit(); ?>
四、SEO注意事项
- 权重转移周期
- Google通常需要2-8周完成权重转移
- 百度可能需要更长时间(建议使用搜索资源平台提交改版规则)
- 必须避免的错误
- 形成跳转链条(A→B→C)
- 混合使用302和301导致信号混乱
- 忘记重定向查询参数(?id=123等)
- 监控方法
- 使用Google Search Console的"覆盖率报告"
- 定期检查爬虫访问日志
- 通过SEO工具监控关键词排名波动
五、高级应用技巧
- 正则表达式优化
# 批量处理产品页重定向 RewriteRule ^product/([0-9]+)/?$ /new-products/$1.html [R=301,NC,L]
- 保留URL参数
rewrite ^/old-path(.*)$ /new-path$1? permanent;
- 多语言站点处理
RewriteCond %{HTTP:Accept-Language} ^fr [NC] RewriteRule ^/page$ /fr/page [R=301,L]
六、验证与测试
- 使用cURL命令验证:
curl -I https://old-domain.com/path
- 在线工具推荐:
- Redirect Checker(redirect-checker.org)
- HTTP Status Code工具
- 必须测试的场景:
- 带参数的URL
- 锚点链接(#section)
- 移动端访问跳转
- 爬虫模拟访问(Googlebot/baiduspider)
实施301重定向后,建议保持原URL至少6个月的跳转状态,并持续监控流量变化。正确实施的301重定向可以使网站改版的流量损失控制在5%以内。