LECMS伪静态规则怎么配置
学完这篇,你能给 LECMS 站点配好伪静态,让栏目页和内容页的网址从 index.php?s=/list/1 这种形式变成 /list/1.html 这种干净形式,并被搜索引擎正常抓取。
第一步:先确认服务器环境和程序版本
这一步要搞清两件事:你的 Web 服务器是哪种、LECMS 是哪个版本。两者的组合决定了后面用哪套规则。
登录 LECMS 后台,看首页底部或左侧「系统」→「系统信息」,记下程序版本号(常见 2.x / 3.x)。再确认服务器类型:在浏览器访问一个肯定不存在的地址,比如 你的域名/aaaabbbb,看报错页——显示 Apache 字样就是 Apache,显示 nginx 就是 Nginx,显示 IIS 7.0 之类的就是 IIS。
注意:Nginx 和 Apache 的规则写法完全不同,抄错一份规则会直接 404,别凭印象选。
第二步:在后台打开伪静态开关
这一步要在程序侧启用 URL 重写,否则服务器规则写了也白写。
进入后台,走这个路径:左侧菜单「系统」→「系统设置」→「基本设置」,找到「URL 模式」或「伪静态设置」这一栏。常见选项有四项:动态模式、伪静态模式、静态化模式、兼容模式。选「伪静态模式」。同一页面往下一般还有「伪静态后缀」(默认 .html,可改成 .htm 或留空)和「栏目路径层级」,保持默认即可。
点击页面底部的「保存」或「提交」按钮。保存后回到前台刷新首页,如果链接已经变成伪静态形式但点进去 404,说明程序侧生效了、服务器侧还没配,继续下一步。
第三步:Apache 服务器写 .htaccess
这一步做完,Apache 环境下的伪静态就通了。
用 FTP 或宝塔面板的文件管理器,进入网站根目录(和 index.php 同级的那个目录),新建一个纯文本文件,命名为 .htaccess(注意前面有个点,没有扩展名)。写入以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?s=$1 [L]
</IfModule>
保存后用浏览器访问内容页测试。
如果站点装在子目录里(比如 域名/cms/),把 RewriteBase / 改成 RewriteBase /cms/,同时 RewriteRule 那行也相应调整。
注意:Apache 必须开启
mod_rewrite模块,并且站点配置里AllowOverride要是All,否则 .htaccess 会被完全忽略。宝塔面板用户在「软件商店」→「Apache」→「设置」→「配置修改」里检查这两项。
第四步:Nginx 服务器改站点配置
Nginx 不认 .htaccess,必须改站点配置文件。
宝塔面板用户走:左侧「网站」→ 找到你的站点 → 点「设置」→「配置文件」,在 server { } 块内、location / { } 里加上:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?s=$1 last;
}
}
如果你是自己装的环境,编辑 /etc/nginx/conf.d/你的站点.conf 或 /usr/local/nginx/conf/nginx.conf 里的对应 server 块,加完执行 nginx -t 测试语法,再 nginx -s reload 重载。
注意:宝塔的「伪静态」标签页里通常有 LECMS 的预设规则,也可以直接把上面的内容粘贴到那个输入框再保存,效果一样,但两个地方都写容易冲突,只留一处。
第五步:验证并排查常见问题
这一步确认全站链接都能正常打开。
依次测试四个位置:首页、栏目列表页、内容详情页、后台登录页。首页能开但列表页 404,一般是规则里 index.php?s=$1 的参数名写错了,LECMS 有的版本用的是 index.php?/$1,改一下再试。
如果前台正常、后台 404,检查后台目录名是否被规则拦截,必要时给后台目录加一条排除规则。改完规则记得清空后台「系统」→「缓存管理」里的缓存,浏览器也要按 Ctrl+F5 强刷。
注意:伪静态开启后,原来
index.php?id=123这种动态地址仍然可以访问,会造成同内容多网址。上线后在模板里统一用伪静态地址,并提交一份 sitemap 给搜索引擎。
小结
- 顺序不能反:先在后台「系统设置 → 基本设置」选伪静态模式,再配服务器规则。
- 按服务器类型选规则:Apache 用根目录
.htaccess,Nginx 改站点配置文件。 - Apache 的两个前提是
mod_rewrite开启、AllowOverride All。 - 子目录建站时必须同步修改
RewriteBase。 - 参数形式有
index.php?s=$1和index.php?/$1两种,404 时优先换这个试。 - 全部测通后清缓存、强刷浏览器,再提交 sitemap。
原文链接:https://www.gj0.com/thread-108.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。