宝塔面板中301重定向在网站设置页的「重定向」选项卡配置,需勾选“301永久重定向”,源目录填/实现整站跳转;路径映射复杂时须手动编辑Nginx配置文件添加rewrite规则并加permanent标志。

宝塔面板里 301 重定向在哪配
就在网站设置页的「重定向」选项卡里,不是在 Nginx 配置文件里手动加 return 301,更不是靠 .htaccess(那玩意儿对 Nginx 无效)。宝塔这功能是图形化封装了 Nginx 的 rewrite 规则,自动生成带 permanent 标志的跳转。
常见错误现象:
– 点了「添加重定向」但没选「301 永久重定向」,默认是 302(临时跳转)
– 域名填了 www.example.com 却没勾选「包含子域名」,导致 blog.example.com 不跳转
– 源目录写成 /old/,但实际访问路径是 /old/index.html,而宝塔的「目录重定向」只匹配路径前缀,不校验文件存在性
- 必须勾选「301 永久重定向」,否则搜索引擎不会传递权重
- 源域名留空 = 匹配当前网站所有绑定的域名;填具体域名则只对该域名生效
- 目标 URL 必须以
http://或https://开头,不能只写域名 - 如果要整站跳转(比如 old.com → new.com),源目录填
/,别留空
换域名后老链接 404,怎么让 SEO 权重不丢
单纯加个重定向不够,得确保旧 URL 到新 URL 是「一对一映射」。宝塔的「目录重定向」只支持路径前缀匹配,没法做正则捕获或动态替换,所以遇到 /post/123 → /articles/123 这种规则,就得切到「配置文件」手动写。
使用场景:
– 老站用 WordPress,固定链接是 /archives/%post_id%,新站改成 /blog/%post_id%
– 多语言站点从 /en/xxx 拆成独立子域 en.example.com/xxx
- 进网站设置 → 「配置文件」,在
server块里加:rewrite ^/archives/(.*)$ https://new.com/blog/$1 permanent;
- 注意
permanent不可省略,它等价于301;用redirect就是 302 - 修改完点「保存」,再点「重载配置」,别只点保存就以为生效了
- 测试时用
curl -I看响应头,确认返回的是HTTP/2 301,不是200或302
HTTPS 强制跳转 + 域名重定向同时生效会冲突吗
会,而且顺序错了就白配。宝塔默认把 HTTPS 强制跳转规则写在配置文件最外层 server 块(监听 80 端口),而域名重定向通常写在另一个 server 块里(监听 443)。如果两个规则都走 80 端口,Nginx 会按配置顺序执行,先匹配上的就走了,后面的不触发。
容易踩的坑:
– 在「重定向」页面同时加了「HTTP→HTTPS」和「old.com→new.com」,结果只跳了 HTTPS,没换域名
– 启用了「强制 HTTPS」开关,又在重定向里重复配置 80→443,造成循环跳转(浏览器报 ERR_TOO_MANY_REDIRECTS)
- 关掉网站设置里的「强制 HTTPS」开关,统一用重定向功能管理
- 建两条重定向规则:一条源域名填
http://old.com,目标填https://new.com;另一条源填http://www.old.com,目标同上 - 别依赖宝塔自动生成的「全站 HTTPS」,它不处理跨域名场景
重定向生效了但百度快照还是旧域名
不是配置问题,是缓存和抓取周期问题。百度一般需要 3–7 天重新抓取并更新快照,期间你看到的仍是旧链接,但点击进去已跳转成功。真正影响收录的是 301 响应头是否稳定返回,以及新站内容是否与旧页主题一致。
验证要点:
– 用站长平台的「URL 检查」工具提交新 URL,不是提交跳转后的地址,而是直接提交新站的首页或重点栏目页
– 确保新站 robots.txt 没屏蔽爬虫,且有正常 sitemap.xml
– 老站不要立刻关停,至少保留 3 个月,避免百度认为页面消失
- 别在重定向规则里加「仅对百度 UA 生效」这种判断,Nginx 不推荐做 UA 过滤,且违反搜索引擎规范
- 如果旧站还有外链,建议联系对方改链,比纯靠跳转更可靠
- 重定向只是兜底手段,核心还是新站内容质量、内链结构和加载速度
最麻烦的其实是路径映射不全——比如只配了首页跳转,忘了 /tags/ /category/ 这些归档页,或者 WordPress 的分页 /page/2/ 没覆盖。这些漏掉的链接,百度依然会抓,然后得到 404,权重就断了。

















