帝国CMS 7.5 - Nginx伪静态规则配置教程

帝国CMS是目前站长圈使用最广泛的CMS之一,经历过18个版本更新,不久前更新到了第19个版本即帝国CMS 7.5正式版。功能强大、内容丰富、拓展性强、使用广泛等优点,在DEDECMS织梦被放弃维护开发逐渐走向衰落之后,帝国CMS一步一步崛起到现今如日中天,虽然体态臃肿却依然好评如潮。

最近在折腾帝国CMS,使用伪静态遇到了不少问题,比如使用LNMP环境时在Nginx下的伪静态配置捣鼓了很久,多方搜索学习最终得以解决,谨以此文以作记录备份。

帝国CMS设置

第一步:在系统设置的 “系统参数设置” 中将 “首页模式” 设置成动态首页

empire-1.png

第二步:在系统设置的 “伪静态参数设置” 中设置伪表态规则,以默认为例

若要修改格式名称,记得以下规则里对应的名称也应更换。

empire-2.png

第三步:在栏目管理中的 “批量设置栏目属性” 将栏目页模式和内容页模式设置为动态页面

empire-3.png

第四步:在 “数据更新中心” 更新一下数据是设置生效

Nginx伪静态规则,如下:

rewrite ^/showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 last;
rewrite ^/listinfo-([0-9]+)-([0-9]+).html$ /e/action/ListInfo/index.php?classid=$1&page=$2 last;
rewrite ^/infotype-([0-9]+)-([0-9]+).html$ /e/action/InfoType/index.php?ttid=$1&page=$2 last;
rewrite ^/tags-(.+?)-([0-9]+).html$ /e/tags/index.php?tagname=$1&page=$2 last;
rewrite ^/comment-(.+?)-([0-9]+)-([0-9]+)-([0-9]+)-(.+?)-([0-9]+).html /e/pl/index.php?doaction=$1&classid=$2&id=$3&page=$4&myorder=$5&tempid=$6 last;

LNMP配置方法

1、通过文件引用

新建一个 empirecms.conf 伪静态配置文件;

复制以下内容并上传至 /usr/local/nginx/conf/rewrite/

在Nginx配置文件中引用伪静态文件以 include rewrite/empirecms.conf; 引用即可。

完整规则:

location / {
rewrite ^/showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 last;
rewrite ^/listinfo-([0-9]+)-([0-9]+).html$ /e/action/ListInfo/index.php?classid=$1&page=$2 last;
rewrite ^/infotype-([0-9]+)-([0-9]+).html$ /e/action/InfoType/index.php?ttid=$1&page=$2 last;
rewrite ^/tags-(.+?)-([0-9]+).html$ /e/tags/index.php?tagname=$1&page=$2 last;
rewrite ^/comment-(.+?)-([0-9]+)-([0-9]+)-([0-9]+)-(.+?)-([0-9]+).html /e/pl/index.php?doaction=$1&classid=$2&id=$3&page=$4&myorder=$5&tempid=$6 last;
}

2、也可以在Nginx配置文件中直接使用上述规则

最后提示,如果修改了格式中的名称,一定记得伪静态规则中 rewrite 后对应的字符也必须修改。

重启nginx。

参考阅读

吕滔博客 - 帝国CMS7.5 Nginx版伪静态规则及配置使用

猜您喜欢

发表评论

icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif