可在宝塔面板中为每个网站单独配置伪静态规则:一、通过站点设置页的伪静态选项卡添加;二、手动编辑对应站点的Nginx/Apache配置文件;三、用include指令引入独立规则文件;四、借助网站监控报表插件验证效果。

如果您在宝塔面板中托管了多个网站,并希望为每个站点单独配置伪静态规则,而非共用全局规则,则需为各站点独立设置 Nginx 或 Apache 的重写配置。以下是实现该目标的具体步骤:
一、通过站点设置页面添加伪静态规则
宝塔面板为每个站点提供专属的伪静态配置入口,该方式直接写入对应站点的虚拟主机配置文件,确保规则仅对当前站点生效,不影响其他站点。
1、登录宝塔面板,在左侧菜单点击网站,进入站点列表页。
2、找到目标站点,点击其右侧的设置按钮(齿轮图标)。
3、在弹出页面中,点击顶部的伪静态选项卡。
4、在文本框中粘贴或编写适用于该站点的 rewrite 规则(如 ThinkPHP、WordPress、Laravel 等预设模板,或自定义正则规则)。
5、点击保存按钮,面板将自动重载对应站点的 Nginx/Apache 配置。
二、手动编辑站点配置文件
当需要更精细控制(例如嵌套 location 块、启用 if 判断、配合 fastcgi 参数等),可绕过面板界面,直接修改站点对应的配置文件。该操作保留完全自主权,且各站点配置物理隔离。
1、在站点设置页点击配置文件选项卡,查看当前使用的 Web 服务器类型(Nginx 或 Apache)。
2、若为 Nginx,配置路径通常为:/www/server/panel/vhost/nginx/站点域名.conf;若为 Apache,路径为:/www/server/panel/vhost/apache/站点域名.conf。
3、点击配置文件右侧的编辑按钮,定位到 server 块(Nginx)或 VirtualHost 块(Apache)内部。
4、在 location / { ... } 区域内或其上方插入 rewrite 指令,例如 Nginx 中添加:rewrite ^/api/(.*)$ /index.php?route=api/$1 last;
5、保存后,点击面板右上角的重载配置按钮(或执行 bt 1 命令)使更改生效。
三、使用 include 指令分离伪静态文件
为提升可维护性与复用性,可将伪静态规则抽离为独立文件,再通过 include 指令引入各站点配置。每个站点引用不同路径的规则文件,实现逻辑与配置的完全解耦。
1、使用 SSH 登录服务器,创建统一存放目录:mkdir -p /www/wwwroot/rewrite_rules。
2、为每个站点创建专属规则文件,例如:/www/wwwroot/rewrite_rules/site-a.conf 和 /www/wwwroot/rewrite_rules/site-b.conf,分别写入对应规则。
3、编辑站点配置文件(路径见方法二),在 server 块内插入:include /www/wwwroot/rewrite_rules/site-a.conf;(注意分号不可省略)。
4、确保文件权限允许 Nginx/Apache 读取:chmod 644 /www/wwwroot/rewrite_rules/site-a.conf。
5、保存配置并重载 Web 服务。
四、利用宝塔插件“网站监控报表”辅助验证
伪静态配置生效后,可通过访问特定 URL 路径观察返回状态码与实际响应内容,确认重写是否按预期触发。该插件提供实时访问日志与状态码统计,便于快速定位 404、500 或重定向异常。
1、在宝塔面板左侧点击软件商店,搜索并安装网站监控报表插件(免费)。
2、安装完成后,返回网站列表页,点击目标站点的监控按钮。
3、在监控页面中切换至实时日志标签,访问一个应被伪静态捕获的 URL(如 /test-rewrite)。
4、观察日志中request_uri字段是否显示原始路径,而request_filename或后端响应路径是否已变更为重写后的目标(如 index.php)。










