关于帝国CMS的伪静态很多人不知道该怎么写,帝国CMS由于大多是生成html静态文件,所以建议使用nginx服务器,为了方便,伪静态也自然会使用nginx的版本,帝国CMS7.5 nginx默认规则如下:

参考:https://www.glgxt.cn/post/imperial_cms7-5_default.html

帝国CMS伪静态nginx版:

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

上面是帝国CMS默认的nginx伪静态写法,从帝国CMS7.5起,支持Tagsid功能,也就是以前的tagname改成了tagid,让更喜欢id风格的网友满意了,如果你使用tagid,那么你的伪静态规则需要做以下修改:

rewrite ^([^\.]*)/tags-(.+?)-(.+?)\.html$ $1/e/tags/index.php?tagname=$2&page=$3 last;

改成下面这个样子

rewrite ^([^\.]*)/tags-(.+?)-(.+?)\.html$ $1/e/tags/index.php?tagid=$2&page=$3 last;

最后将修改好的伪静态规则保存到服务器

伪静态规则使用方法

这里以宝塔面板为例子:


    • 点击对应站点的设置按钮

    • 点击左侧伪静态

    • 将伪静态规则复制到右侧