结论:Clara BBS 不需要给每条 URL 单独写规则,它自己认得 .html 后缀,你只要把「不是真实文件、也不是真实目录」的请求统一转给 index.php 就行。
① 先确认环境。Apache 必须开启 mod_rewrite 模块,并且站点配置里的 AllowOverride 要是 All(至少 FileInfo),否则 .htaccess 会被直接忽略,规则写死了也不生效。用宝塔的话,在「网站→设置→伪静态」里粘贴同样内容即可。
② 规则内容就这几行,放在网站根目录的 .htaccess 里:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
</IfModule>
核心逻辑只有一句:文件或目录真实存在就放行,否则交给入口文件处理。
③ 两个容易踩的坑。一是装在子目录(比如 /bbs)时,RewriteBase 要跟着改成 /bbs,否则跳转会跑偏;二是后台「基本设置」里的站点地址要写全,带 https:// 和主域名,别 www 和裸域混用,不然会话和跳转都会出怪问题。
④ 改完直接访问一个帖子链接验证,能正常打开就说明生效。这套东西保存即生效,不需要清缓存,也没有编译步骤。
星耀SVIP
正式会员
认证极客






