最近将一个zblog转换为帝国cms,zblog的tag页面显示tags-201.htm,而帝国cms默认tag显示是tags-etagid55-0.html这种,需要转换。顺便折腾下其它几种转换模式,记录一下,方便下次遇到这种情况使用,网络上似乎没有找到解决方法,估计不是刚需,其实帝国cms的这种tag显示一直不喜欢,我还是喜欢层级栏目。也就是tags/55.html这种,想去掉这个莫名其妙的etagid,不知道为什么要显示这么个鬼出来,多此一举不好看,同时自带的这个-0页面参数也无法彻底清除,比较郁闷。
帝国cms伪静态修改路径的几种方法
1、tags-etagid55-0.html修改为tags/etagid55-0.html
这是最简单的,不需要修改任何系统文件,直接在后台伪静态设置里面改成tags/[!--tagname--]-[!--page--].html,同时在服务器的伪静态配置修改为rewrite ^([^\.]*)/tags/(.+?)-(.+?)\.html$ $1/e/tags/index.php?tagname=$2&page=$3 last;即可
2、首页去掉-0参数
伪静态增加一条rewrite ^([^\.]*)/tags-(.+?).htm$ $1/e/tags/index.php?tagid=$2&page=0 last;,同时设置个301,rewrite ^([^\.]*)/tags-(.*)_0.htm$ $1/tags-$2.htm permanent;
这是因为虽然在去掉了-0,但是在tag的列表分页里面依然会显示成为-0.html这种,由于这个分页列表是通用的,修改工程比较大,因此只能这样曲线救国了,比较遗憾。
3、tags-etagid55-0.html修改为tags-55.html
由于要去掉etagid,就涉及到需要修改系统文件,具体需要修改3个系统文件
e/tags/index.php
e/class/t_functions.php
e/admin/tags/listTags.php
同时还需要根据第一步修改伪静态规则哦
暂时不提供下载,等功能完善吧,先留着备用。
需要修改成为tags/55.html这种结合1和2步就可以完成
因此假如不是刚需的话,感觉还是就改改1和2这两种算了,去掉etagid要改系统文件,真是比较郁闷的。或者没事情就不要改了
另外,修改了伪静态规则后,在调用tag的时候,链接要改成对应的,不然就无法显示出来哦。