帝国 CMS 伪静态打不开

juming
juming 初级会员超兽战士
发布于 2026-10-08 05:51 ·1 浏览 ·0 回复

学完这篇,你能按顺序查出帝国CMS伪静态打不开到底是后台没开、规则没配对,还是服务器重写模块没生效,并把它改到能正常访问。伪静态打不开几乎都是"后台设置"和"服务器规则"两头有一头没对上,按下面顺序查,通常到第三步就能定位。

第一步:打开后台伪静态总开关,并确认栏目单独开关

这一步做完,帝国CMS 才会去生成伪静态链接;否则它一直输出动态地址,服务器规则再对也没用。

帝国CMS 7.5 的操作路径:登录后台 → 顶部菜单「系统」→ 左侧菜单「伪静态设置」,进入「伪静态规则设置」页面。页面上会列出"信息页伪静态""栏目页伪静态""专题页伪静态""标题分类伪静态"等条目,每一项都要选成"使用伪静态",然后点页面底部的「提交」按钮。

注意:只开总开关不够。栏目自己也要开:后台「栏目」→ 找到栏目点「修改」→ 展开「生成选项」,把「栏目页模式」和「内容页模式」设为静态或伪静态,再保存。只改总开关不改栏目,栏目页仍然是动态地址。

改完还要到「数据更新中心」执行一次「更新栏目页」和「更新内容页」,否则页面里存的还是旧链接。

第二步:复制帝国CMS自己生成的伪静态规则

这一步拿到一份和你当前 URL 结构完全匹配的规则,比自己手写靠谱得多。

回到后台「伪静态设置」页面,往下拉到底部,会有「生成伪静态规则」的入口或直接展示一段规则文本,把它整段复制出来。如果你改过栏目目录名或 URL 参数结构,必须重新生成一次。

注意:用旧规则会大面积 404,尤其是改过栏目拼音或目录名之后。

第三步:Apache 环境查三样东西

这一步确认服务器允许重写,做完重写才会真正生效。

  1. 网站根目录有没有 .htaccess 文件,内容是不是刚复制的那段规则。
  2. 打开 httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so,删掉行首的 #。
  3. 站点目录的 AllowOverride 必须是 All:
<Directory "/www/wwwroot/你的站点">
    AllowOverride All
    Require all granted
</Directory>

改完执行 systemctl restart httpd 重启。

注意:宝塔面板用户可以直接在「网站」→ 站点 →「设置」→「伪静态」里粘贴规则,不必手改 httpd.conf;但手改过配置文件后,面板的伪静态内容可能被覆盖。

第四步:Nginx 环境把规则放对位置

这一步让 Nginx 在请求 PHP 之前先做重写,否则请求会被直接交给 PHP 处理,表现为空白或 404。

在站点的 server { } 块里,把规则放进 location / 中,并让它排在 PHP 处理块之前:

location / {
    rewrite ^/listinfo-(.+?)\.html$ /e/action/ListInfo.php?classid=$1 last;
    # 这里粘贴帝国CMS生成的其余规则
}

然后执行 nginx -t 测试语法,通过后 nginx -s reload 重载。

注意:如果站点装在子目录(如 /cms/),Apache 的 .htaccess 里要加 RewriteBase /cms/,Nginx 规则要去掉开头的斜杠写成相对路径,否则匹配不上。

第五步:还打不开,按这三下排除

这一步把问题范围缩到最小。

  1. 直接访问动态地址 /e/action/ListInfo.php?classid=1,能打开说明 PHP 正常,问题在重写规则。
  2. 看服务器错误日志:Apache 在 /var/log/httpd/error_log,Nginx 在 /var/log/nginx/error.log,区分是 404 还是 500。
  3. 后台「系统」→「数据更新中心」→ 刷新缓存,再重新生成一次页面。

小结

  • 先分两头排查:后台开关(总开关+栏目开关)和服务器重写规则。
  • 规则一律用帝国CMS后台生成的那份,不要手写。
  • Apache 要同时满足 mod_rewrite 已加载、AllowOverride All、.htaccess 存在。
  • Nginx 规则放 location / 里,改完先 nginx -t 再 reload。
  • 任何设置改完,都要去「数据更新中心」重新生成页面才看得到效果。
版权声明:本文来自 GJ站长论坛《帝国 CMS 伪静态打不开》
原文链接:https://www.gj0.com/thread-774.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~