宝塔面板多站点伪静态配置错误,导致页面 404

宝塔面板多站点伪静态配置错误导致404?三步排查解决

在宝塔面板上运行多个网站时,偶尔会遇到某个站点突然跳转 404 页面,而其他站点正常。
这种 宝塔面板多站点伪静态配置错误,导致页面 404 的情况非常常见,尤其是在新增站点或切换网站程序后。
本文面向零基础用户,从现象到解决,手把手帮你恢复正常访问。

一、先确认 404 是不是伪静态的问题

在动手调整前,先做一个简单测试:访问一个不存在的地址(比如 http://你的域名/test-404-test),如果返回的 404 界面与正常页面一致(比如都显示同样的模板头部和底部),说明 Nginx/Apache 的伪静态规则正在生效,但规则本身不匹配你的程序。
如果 404 页面是服务器默认的空白或纯文本,则可能是伪静态功能根本没开启或规则被跳过。

小提示:先检查网站运行环境。
如果站点用的是 WordPress、ThinkPHP、Laravel 等框架,几乎都依赖伪静态来重写 URL。
一旦伪静态配置错误,所有内页都会返回 404。

二、在宝塔面板里检查并修正伪静态规则

1. 检查当前伪静态设置

登录宝塔面板,进入左侧“网站”菜单,找到出现 404 的站点,点击“设置”。
在弹出的窗口中,选择“伪静态”标签页。

  • 如果下拉框显示“未设置”,或者选择了错误的类型(比如 WordPress 站点却选了 Typecho),就会引发 404。
  • 正确做法:根据你的网站程序,从下拉列表中选择对应的规则。例如 WordPress 站点选 WordPress,ThinkPHP 选 thinkphp

2. 手动写入或校正规则

如果内置规则不适用,你也可以点击“开启”或“添加”按钮,直接在下方的编辑框中粘贴自定义规则。
下面给出两个最常用的规则示例,可以直接复制使用。

WordPress 伪静态规则(Nginx 环境)

location / {
	try_files $uri $uri/ /index.php?$args;
}

ThinkPHP 5/6 伪静态规则(Nginx 环境)

if (!-e $request_filename) {
	rewrite  ^(.*)$  /index.php?s=/$1  last;
	break;
}

粘贴后点击“保存”,系统会自动生成配置文件并重载服务。注意:如果使用的是 Apache 环境,请切换到 Apache 的 .htaccess 规则,具体可以咨询程序官方文档。

3. 重启 Web 服务

在面板首页点击“重启”按钮,选择“重启 Nginx”或“重启 Apache”。
这一步很关键,因为新规则只有重启后才会生效。

三、多站点冲突排查与避坑要点

多个站点共用同一服务器时,伪静态规则可能互相干扰。
以下两个高频坑要特别留意:

  • 规则顺序冲突:在宝塔面板中,每个站点的规则是独立的,但如果你在全局 Nginx 配置文件中添加了伪静态规则(比如在“配置修改”里手动改了 http 块),可能会覆盖站点的单独设置。建议:每个站点的伪静态都只在站点设置里配置,不要动全局文件。
  • 伪静态类型不匹配:比如同一台服务器上运行 WordPress 和 Discuz,两种程序对 .htaccess 的规则格式完全不一样,误用会导致 404。务必按程序类型单独选择。
  • 规则中未排除已存在的文件:例如 ThinkPHP 规则中如果没有 !-e $request_filename 判断,访问真实存在的图片或 JS 文件也会被 rewrite 到 index.php,造成 404。上面提供的规则已包含判断,直接复制即可。

四、验证修复效果

保存规则并重启服务后,立即打开浏览器访问之前报 404 的页面地址。
如果正常显示内容,问题解决。
为了彻底确认,再访问一个不存在的 URL(如 http://你的域名/random-test-xyz),应当返回程序自定义的 404 页面(而不是服务器默认 404)。

额外验证方法
登录宝塔面板,
进入“软件商店” -> “已安装” -> 找到 Nginx(或 Apache),
点击“设置” -> “错误日志”,
搜索 404
如果看到 rewrite or internal redirection cycleno file found 等记录,
说明规则仍然有问题,
需要回到第二步检查规则语法或顺序。

五、常见高频问题解答

  1. WordPress 开启了伪静态,文章页还是 404?
  • 进入 WordPress 后台 -> 设置 -> 固定链接,再次点击“保存设置”,这会让 WordPress 重新写入 .htaccess(Apache)或刷新路由表(Nginx)。如果宝塔面板中的伪静态规则已经选择正确,此操作即可修复。
  1. ThinkPHP 站点除了首页都 404?
  • 确认 Nginx 规则是否正确包含 if (!-e $request_filename)rewrite ^(.*)$ /index.php?s=/$1 last;。同时检查 public/index.php 文件是否存在。
  1. 宝塔面板里未找到对应的伪静态模板怎么办?
  • 点击“自定义”或“手动输入”,从程序官方文档复制规则粘贴即可。几乎所有主流框架的伪静态规则都可在其手册中找到。

如果你正在处理 宝塔面板多站点伪静态配置错误,导致页面 404,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
Linux 服务器被植入挖矿进程
下一篇
服务器数据备份失败,教你排查备份故障
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意