可通过宝塔面板配置同步、SSH命令行批量替换或计划任务+Shell脚本三种方式统一更新多站点伪静态规则:一、用配置同步工具将已配好规则的站点配置一键复制到其他站点;二、通过sed命令遍历并修改各站点Nginx配置文件;三、编写Shell脚本配合计划任务自动校验与注入规则。

如果您在宝塔面板中管理多个网站,且需要统一更新所有站点的伪静态规则,则可通过配置同步工具实现批量修改。以下是具体操作步骤:
一、使用宝塔面板“配置同步”功能批量应用伪静态
宝塔面板的“配置同步”工具支持将一个已配置好的网站的Nginx/Apache配置(含伪静态规则)一键复制到其他站点,适用于同类型Web服务器环境下的批量覆盖。
1、登录宝塔面板,在左侧菜单点击网站,找到已正确配置好伪静态规则的目标站点(例如:site-a.com)。
2、点击该站点右侧的设置按钮,进入站点配置页面。
3、在顶部导航栏切换至配置文件选项卡,确认伪静态规则已正确写入location区块或include语句中。
4、返回网站列表页,勾选需同步的所有目标站点(可按住Ctrl多选,或点击全选复选框)。
5、点击列表上方的批量操作下拉菜单,选择配置同步。
6、在弹出窗口中,将源站点设为已配置伪静态的站点(如site-a.com),勾选同步伪静态规则,取消勾选其他非必要项(如SSL、反向代理等)。
7、点击开始同步,等待提示“同步完成”。
二、通过SSH命令行批量替换所有站点的伪静态配置文件
当站点数量极多或需精确控制规则内容时,可直接在服务器端遍历各站点配置文件,用sed命令批量注入或替换伪静态规则段落,绕过面板界面限制。
1、执行命令进入宝塔Nginx主配置目录:cd /www/server/panel/vhost/nginx/。
2、运行以下命令备份原始配置:cp *.conf /www/backup_nginx_conf/ -r(请提前创建backup_nginx_conf目录)。
3、准备标准伪静态规则文本(例如ThinkPHP6规则),保存为/tmp/rewrite.conf,内容以location / { ... }或include /www/server/panel/vhost/rewrite/*.conf;形式存在。
4、执行批量注入命令:for conf in *.conf; do sed -i '/^location \//,/^}/d' "$conf"; sed -i '/^include.*\.conf;/a \`cat /tmp/rewrite.conf\`' "$conf"; done。
5、逐个检查各.conf文件末尾是否已追加新规则:tail -n 10 site-b.com.conf。
6、重载Nginx服务使配置生效:bt reload 8(8为Nginx服务编号,可通过bt命令查看)。
三、利用宝塔计划任务+Shell脚本自动部署统一伪静态
针对需长期维护多站点伪静态一致性的场景,可编写Shell脚本定期校验并修正各站点配置,结合计划任务实现无人值守同步。
1、创建脚本文件:vi /www/scripts/sync_rewrite.sh。
2、在脚本中写入逻辑:遍历/www/server/panel/vhost/nginx/下所有.conf文件,检测是否存在指定标识行(如#BAOTA_REWRITE_V1),若不存在则插入预设规则块。
3、赋予执行权限:chmod +x /www/scripts/sync_rewrite.sh。
4、在宝塔面板中进入计划任务,添加新任务:任务类型选Shell脚本,脚本内容填入/www/scripts/sync_rewrite.sh,执行周期设为每天凌晨2点。
5、手动运行一次脚本验证输出:/www/scripts/sync_rewrite.sh,确认无报错且各站点配置被正确更新。
6、检查Nginx语法并重载:nginx -t && bt reload 8。










