在宝塔面板添加301跳转需依次点击「网站」→目标站点「设置」→左侧「重定向」→「添加重定向」;必须选「301永久重定向」,原地址填完整域名或路径,目标地址含https://,勾选「保留URI参数」;修改后须手动「重载配置」,并清除浏览器缓存验证。

宝塔面板里点哪几个按钮就能加301跳转
直接进「网站」→ 找到目标站点 → 点「设置」→ 左侧选「重定向」→ 点「添加重定向」。这四步是唯一必经路径,中间不能跳过「重定向」标签页——很多人误点「301重定向」旧入口(已下线),结果找不到配置项。
关键操作项必须填对:
-
重定向类型选「301永久重定向」,别手滑选成 302 -
原访问地址填完整域名或路径,比如http://old.com或/old-page,不带协议头会失效 -
目标地址必须写全,包括https://,否则可能跳到 http 协议导致混合内容警告 - 勾选「保留URI参数」才能让
/product?id=123正确跳成/new-product?id=123
为什么改完没反应?常见生效失败原因
不是点了提交就立刻跳转,宝塔的重定向规则最终落地为 Nginx 的 rewrite 或 return 301 指令,需要服务重载才生效。但用户常忽略三点:
- 没点「保存」后手动点击右上角「重载配置」(Nginx)或「重启」(Apache),面板不会自动触发
- 浏览器缓存了 301 跳转,本地测试时用无痕窗口或
curl -I http://old.com验证更准 - 多个重定向规则冲突:比如同时存在
/→/new和/old→/new,前者会拦截后者,顺序不可调,得删掉冗余规则
HTTPS 强制跳转和自定义跳转能不能共存
能,但有优先级陷阱。启用「SSL」页里的「强制HTTPS」,宝塔会在 80 端口 server 块里加一条 return 301 https://$host$request_uri;;而你在「重定向」里配的规则,默认只作用于当前站点的 443 端口(即 HTTPS 流量)。所以:
- 想让 HTTP 流量先跳 HTTPS、再跳新域名,得在「重定向」里配两个规则:一个针对 HTTP 域名(匹配方式选「域名匹配」+ 原地址填
http://old.com),另一个针对 HTTPS 域名 - 如果只配了 HTTPS 下的跳转,
http://old.com访问时只会走「强制HTTPS」,不会继续跳到新域名——这是最常被卡住的逻辑断层
想定时开关跳转,别动服务,直接改配置文件
用计划任务停 Nginx/Apache 来“开关”跳转,等于把整个站干掉,多站点环境下绝对不行。正确做法是挪走重定向配置文件:
- 宝塔生成的规则存在:
/www/server/panel/vhost/nginx/redirect/域名/xxx.conf - 关跳转:把
.conf改成.confs(加个 s),再执行/etc/init.d/nginx reload - 开跳转:把
.confs改回.conf,同样 reload - 脚本里用
mv命令时注意路径空格和变量引号,"$old_folder_name"必须加双引号,否则含空格路径会报错
复杂点在于:重定向文件名含哈希串,每次新建规则都不同,没法硬编码路径——真要自动化,得先用 ls /www/server/panel/vhost/nginx/redirect/域名/ | grep .conf$ 动态取名。










