本指南仅适用于苹果CMS V10正式版,其他版本操作逻辑类似,文件路径略有差异,所有操作前请先完成前置准备,避免数据丢失。
前置准备(必做)
操作前完成2项备份,避免误操作导致站点崩溃:
- 站点文件备份:登录服务器面板(宝塔/CPanel等),进入站点根目录,全选所有文件点击压缩打包,下载到本地留存
- 数据库备份:登录苹果CMS后台(域名+/admin.php),依次点击【系统】-【数据库备份】,勾选所有数据表,点击【备份】,等待备份完成即可
场景1:后台导航配置错误(占失效问题70%)
排查步骤
- 登录后台后依次点击【系统】-【网站参数配置】-【导航设置】
- 检查导航列表的【状态】列,确认所有需要展示的导航状态为【启用】
- 检查每条导航的【跳转地址】,确认无拼写错误、路径格式符合要求
修复操作
如果是导航状态错误,直接点击状态按钮切换为【启用】;如果是链接格式错误,按以下规则修正:站内链接统一以/开头,比如分类页路径为/type/1.html,外部链接必须带https://或http://前缀。如果是误删导航,点击【添加导航】,直接复制下方模板填写:
```
导航名称:首页
导航别名:index
跳转地址:/
排序:1
状态:启用
打开方式:当前窗口
```
生效操作
修改完成后点击保存配置,再点击后台右上角的【清除缓存】,选择清除所有缓存,前台刷新页面即可验证是否恢复。
场景2:模板导航代码异常(占失效问题20%)
排查步骤
- 进入后台【模板】-【模板管理】,查看当前启用的模板名称,比如默认模板路径为mb/index
- 登录服务器面板,进入站点根目录的/template/当前模板名/html/目录,找到导航对应的模板文件,通常命名为head.html、header.html、nav.html
- 打开文件查看导航调用代码,确认是否为苹果CMS官方标准调用标签
修复操作
如果模板内是写死的静态导航链接,直接替换为下方标准导航调用标签即可;如果标签存在但参数错误,比如type参数错写为foot、order参数错误,直接修正即可:
```
{maccms:nav type="top" order="asc" by="sort"}
{$vo.name}
{/maccms:nav}
```

修改完成后保存文件,回到后台清除所有缓存,前台刷新验证即可。
场景3:伪静态规则异常(占失效问题8%)
排查步骤
点击任意导航,如果跳转后页面显示404错误,同时后台导航配置、模板代码都无异常,即可判定为伪静态规则错误。
修复操作
根据你的服务器环境选择对应的规则,直接复制粘贴即可:
宝塔Nginx环境
- 登录宝塔面板,进入对应站点的【设置】-【伪静态】选项卡
- 删除原有规则,粘贴下方官方标准伪静态规则:
```
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;
}
}
```
- 点击保存,再重启Nginx服务,回到后台清缓存验证即可
Apache环境
在站点根目录新建.htaccess文件,粘贴下方规则保存即可:
```
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index.php(.)$ /index.php?s=$1 [L]
RewriteRule ^admin.php(.)$ /admin.php?s=$1 [L]
RewriteRule ^api.php(.)$ /api.php?s=$1 [L]
RewriteRule ^(.)$ /index.php?s=$1 [L]
```
场景4:缓存/CDN异常(占失效问题2%)
排查步骤
前面3个场景排查完成后仍失效的,打开浏览器无痕模式访问站点,如果无痕模式下导航正常,即可判定为缓存问题。
修复操作
- 后台全量清缓存:进入【系统】-【缓存管理】,全选所有缓存项,点击删除
- CDN缓存刷新:如果你使用了阿里云CDN、Cloudflare等CDN服务,登录CDN控制台,选择全站刷新缓存
- 本地浏览器缓存清理:按Ctrl+Shift+Delete快捷键,勾选【缓存的图片和文件】,点击清除即可
应急兜底方案
如果所有排查操作完成后仍未解决,进入后台【模板】-【模板管理】,切换为系统默认模板,清缓存后如果导航恢复,即可判定为自定义模板存在兼容性问题,直接联系模板作者排查即可。