LocalStorage 的 .htaccess 自愈机制:旧模板缺陷自动升级
老站点升级后残留的 .htaccess 脏规则和 LocalStorage 旧数据会导致排版错乱、按钮失灵,需备份覆盖后精简重写规则、将旧模板和缓存路径返回404并清空 LocalStorage,使旧模板缺陷自动失效。
照着做一遍,你就能把老站点升级后残留的 .htaccess 脏规则和浏览器 LocalStorage 旧数据一次性收拾干净,让页面自己"回到正轨",不用挨个找文件名手动改。
先说清楚标题里的"自愈"是什么意思:它不是系统某个隐藏开关,而是两件事凑在一起——服务器端用一条重写规则把指向旧模板的请求自动挡掉,浏览器端用版本参数让旧 LocalStorage 数据失效。这两步做完,旧模板的缺陷就不会在新版本里继续冒头。
第一步:先认清"旧模板缺陷"长什么样
升级后如果出现下面这些现象,基本可以判定是旧模板/旧前端数据在作祟:
- 页面排版错乱,但 F5 强刷就好、下次进来又乱
- 发帖编辑器按钮点了没反应,或工具栏重复出现两套
- 控制台报 404,路径里带着旧模板目录名
- 提示"页面已过期,请刷新后重试"(CSRF 校验没过)
注意:Clara BBS 是单模板响应式、无编译缓存、保存即生效。正常情况下不存在"改了不生效"的问题。所以一旦出现上面的症状,八成是旧文件残留或浏览器本地缓存,而不是系统本身。
第二步:备份 + 覆盖上传
- 把网站目录整个打包备份,数据库单独导出一次
- 新版本文件覆盖上传,覆盖前确认这几处别被冲掉:
- 数据库连接配置
uploads目录(用户上传的图片和附件)content/plugins目录(已装插件)
- 覆盖完成后先别急着删旧文件,等下面几步跑通再清理
第三步:把 .htaccess 收拾干净
Clara BBS 的伪静态很省事:服务器只需要把非静态文件的请求转发给 index.php,不需要一堆花哨规则。Apache 下 .htaccess 保留这一套就够:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
老站点常见的问题是:旧模板时期留下的重写规则还在,把某些后缀的请求硬指向了已经不存在的目录。把 RewriteEngine On 之外的多余规则全部删掉,只留上面三条,多一条都可能打架。
注意:
.htaccess改错会直接 500,改之前先复制一份htaccess.bak放旁边,出问题立刻换回来。
第四步:加一条"自愈"规则,自动挡掉旧路径
这是让旧模板缺陷自动消失的关键。在同一个 .htaccess 里追加:
RewriteRule ^templates/ - [R=404,L]
RewriteRule ^cache/ - [R=404,L]
意思是:任何还想访问旧模板目录、旧缓存目录的请求,直接返回 404,不再让它读到半新半旧的混合文件。浏览器拿到 404 就会去请求正确的路径,页面自然恢复正常。
注意:目录名要以你站点实际存在的为准,先看一遍网站根目录再写规则。目录本来就不存在的话,这条规则加了也无害。
第五步:清掉浏览器里的 LocalStorage 残留
前端升级后,旧版 JS 写在 LocalStorage 里的数据(编辑器草稿、表单状态、界面偏好)格式可能已经对不上,会引发按钮失灵、样式错乱这类"刷新就好"的怪现象。
打开页面按 F12,进入 Application / 应用 → Storage / 存储 → Local Storage,选中你的域名,右键清空;或者在 Console 里执行一句:
localStorage.clear();
注意:这会一并清掉你未提交的编辑草稿,动手前先确认没有正在写的东西。另外 LocalStorage 按域名隔离,
www和裸域、http 和 https 各存一份,换域名后觉得"设置没生效"多半是这个原因。
第六步:后台收尾三件事
- 系统工具 → 数据库升级:执行一次增量升级,新增的列和表自动补齐,幂等可重复执行
- 系统工具 → 缓存清理:清一次站点缓存
- 基本设置:站点地址填完整,带
https://和主域名,避免 www 与裸域混用导致会话丢失、反复提示页面过期
小结
- 升级 = 备份 → 覆盖上传 → 保留配置/上传目录/插件目录
.htaccess只留"非静态文件转发 index.php",多余规则全删- 加两条 404 规则挡掉旧模板与旧缓存目录,这就是"自愈"的核心
- 前端异常先清 LocalStorage,
localStorage.clear()一句搞定 - 后台记得跑一次数据库升级 + 缓存清理,站点地址填规范
转载请注明出处,版权归原作者所有。
星耀SVIP
管理员
黑卡会员






