Mmaccms.clubDOCS
站点维护

Nginx 伪静态与 404 排查

先验证 MacCMS 动态入口,再配置 Nginx 重写,区分程序路由、PHP 转发和模板不存在造成的404。

MacCMS V10 · 更新于 · MacCMS Club 编辑部 · 版本与验证范围

只有首页正常而详情404时,先检查动态入口,别先修改数据库。

先试动态地址

使用本站真实内容 ID,访问 /index.php?s=/vod/detail/id/1。若这也失败,先查程序、内容与 PHP 转发;只有动态地址成功而美化 URL 失败,才重点查重写。

Nginx 示例规则

把规则放在此站 server 的对应 location 配置中,不能直接追加一个重复的 location /。修改前保存原文件,后台入口改名后也要同步规则。

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

PHP location/FastCGI 配置仍由面板管理,重写规则不能代替 PHP 服务设置。先执行 nginx -t 检查语法,通过后只重载相关服务。

验证

分别检查首页、分类、详情、后台和 API。若动态入口通而静态路由不通,核对程序的 URL 模式及 application/route.php。失败恢复原站点规则,不删除安装锁来重装。

代码依据

让建站与维护更省心

承接 MacCMS 网站搭建、二次开发与一站式维护。欢迎联系我们,聊聊你的项目需求。

本页目录