游客发表
易优CMS的易优伪静态设置,核心就两件事:改后台参数,静态改服务器规则。设置别把它想复杂了,易优我见过不少新手卡在第二步,静态其实第一步更关键。设置
先登录后台,易优找到“系统设置”里的静态“URL设置”。这里有个“URL模式”选项,设置默认是易优“动态模式”。你把它切换成“伪静态模式”,静态保存。设置这一步做完,易优你后台的静态链接就已经变成.html结尾的样子了。但此时前台访问大概率是设置404,因为服务器还没“接住”这些新格式的请求。
接下来才是重头戏。你得让服务器知道,遇到.html的请求时,该怎么转发给易优的入口文件。这里分两种情况,Apache和Nginx,大部分虚拟主机用的是前者,但不少云服务器已经换Nginx了。
如果你用的是Apache,在网站根目录找个叫.htaccess的文件(没有就自己建一个),写入这段:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{ REQUEST_FILENAME} !-f RewriteCond %{ REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L] </IfModule> 这段代码的意思很直白——如果请求的不是真实存在的文件或目录,就统一交给index.php处理。注意别漏了最后那个[L],它表示这是最后一条规则,省了容易出怪问题。
Nginx用户就得改配置文件了。找到server块,在location / 里面加一行:
try_files $uri $uri/ /index.php?s=$uri; 改完记得重启Nginx或reload一下。我见过有人改了不重启,折腾半天以为代码错了,其实服务没生效。
有件事必须提醒你——伪静态规则和你的网站目录结构强相关。如果你的易优装在子目录里,比如/abc/下面,上面的规则得加路径前缀。Apache的RewriteBase要设置成/abc/,Nginx的try_files也要对应调整。这个坑我踩过,当时一个客户把CMS装在二级目录,我直接套根目录规则,结果后台能开但前台全404,排查了半小时才想起来这茬。
设置完了怎么验证?别只看首页能打开就完事。去点一个栏目页,一个文章详情页,看看URL是不是都变成了.html结尾,并且能正常显示内容。如果栏目页正常但文章页打不开,多半是伪静态规则里没把文章模型的参数带上。易优的模型ID不同,规则里有时需要额外加个判断。
还有个小细节,改完伪静态后,后台的“生成静态”功能就别用了。伪静态是实时解析,生成静态是提前生成HTML文件,两个同时开容易造成URL混乱。我的经验是,用伪静态就够了,对搜索引擎友好,又不用每次改内容都重新生成。
最后说句实在话,伪静态不是万能的。它只是让URL看起来像静态页,实际性能提升微乎其微。真正的静态化才减少PHP解析开销。但伪静态胜在灵活——你换模板、改栏目结构,不用重新生成所有页面。对大多数中小企业站来说,伪静态完全够用。
要是你按照上面操作完还是不行,优先检查三件事:服务器有没有开rewrite模块、.htaccess文件权限是不是644、后台URL设置里有没有同步更新缓存。八成问题都出在这三个地方。
友情链接