• 文章:65
  • 作品:3|
  • 书架:6|
  • 工具箱:4|
古典 古典Gudian

资深互联网产品经理、20年的职业站长、兼好阅读、旅游、书法...[更多]

关键词Html批量创建工具
关键词Html批量创建工具

SEO关键词页面批量生成软件

本地hosts编辑工具
本地hosts编辑工具

hosts本地读写

远程桌面管理工具V2 安全版
远程桌面管理工具V2 安全版

可以管理远程桌面地址及账号密码及备注。 一键连接远程服务器,无需每次通过Windows自带远程桌面,而忘记账号、密码、IP等。 可同时连接多台远程服务器 托盘最小化

您的位置:首页 > 文章 > 帝国cms

帝国cms拼音化伪静态方法

文/ 古典 2020-03-08 阅读 评论() 个赞

此种方法,可以自定义url地址,例如可以用拼音做目录,而不是帝国默认用id做目录。并且不用更改系统文件,直接上传插件,设置栏目属性,之后添加伪静态规则就可以执行了。具体方法如下:

1、设置栏目属性——生成选项,设置如下:
(1)栏目页模式:静态页面
(2)内容页模式:静态页面
(3)是否生成:不生成栏目页、不生成内容页
(4)内容页目录存放形式:不设置目录

注意事项:
(1)内容页文件命名形式 不能是目录,但是支持信息文件名的修改,URL也能很好看
(2)栏目目录和信息文件名是英文或数字(栏目目录建议英文或英文开头,“-_”上下划线留着给别的东西用吧避免冲突如其它伪静态,避免冲突)

点击下载
2、在/e/action/下增加如下php文件:
列表list.php代码:附件中
内容show.php代码:附件中

3、在网站空间添加伪静态规则

(1)Apache下的伪静态规则

RewriteEngine On
Rewritebase /
#信息内容页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 [NC,L]
#信息列表
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-([0-9]+)-([0-9]+).html$ /e/action/ListInfo/index.php?classid=$1&page=$2 [NC,L]
#标题分类列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-([0-9]+)-([0-9]+).html$ /e/action/InfoType/index.php?ttid=$1&page=$2 [NC,L]
#TAGS信息列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(.+?)-([0-9]+).html$ /e/tags/index.php?tagname=$1&page=$2 [NC,L]
#评论列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^comment-([0-9]+)-([0-9]+)-([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 [NC,L]

#栏目
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/|ad)
RewriteRule ^([0-9a-zA-Z-/]+)/(|index.html|index_[0-9]+.html)$ /e/action/list.php?classid=$1&page=$2 [NC,L]
#内容
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/|ad)
RewriteRule ^([0-9a-zA-Z-/]+)/([0-9a-zA-Z]+)([_0-9]*).html$ /e/action/show.php?classid=$1&id=$2&page=$3 [NC,L]

(2)在Nginx下的伪静态规则

if ($args ~ "^(.*)$"){
set $rule_0 1$rule_0;
}
if (!-f $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 !~ "^(d/|e/|html/|images/|s/|search/|skin/|t/)"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
rewrite ^/([0-9a-zA-Z/]+)/(|index.html|index_[0-9]+.html)$ /e/action/list.php?classid=$1&page=$2;
}
if ($args ~ "^(.*)$"){
set $rule_1 1$rule_1;
}
if (!-f $request_filename){
set $rule_1 2$rule_1;
}
if ($rule_1 !~ "^(d/|e/|html/|images/|s/|search/|skin/|t/)"){
set $rule_1 3$rule_1;
}
if ($rule_1 = "321"){
rewrite ^/([0-9a-zA-Z/]+)/([0-9a-zA-Z]+)([_0-9]*).html$ /e/action/show.php?classid=$1&id=$2&page=$3;
}

上面这个规则是可以让前台的栏目、内容页都正常显示,但会导致其他的动态页面出问题。例如会员系统是动态页面,登录时就会提示链接不存在。

(3)在Nginx下给各栏目单独写伪静态规则
这种方法的好处是,直接给某个栏目写规则,不会影响其他的链接,例如不会影响会员系统等。但这种方法缺点是,麻烦,需要每个栏目都写规则,并且如果只有一级栏目,规则比较好写,如果有二级栏目、三级栏目就会不好写,内容页链接就可能不对。
下面演示一个例子:

#tag标签
rewrite ^/tags-(.*)-(.*)$ /e/tags/index.php?tagid=$1&page=$2;

#栏目页
rewrite ^/news/$ /e/action/list.php?classid=34&url=news;

#栏目页2
rewrite ^/news/index.html$ /e/action/list.php?classid=34&url=news;

#列表页分页
rewrite ^/news/index_([0-9]+).html$ /e/action/list.php?classid=34&url=news&page=$1;

#内容页
rewrite ^/news/([0-9]+).html$ /e/action/show.php?classid=34&id=$1;

 

欢迎转载,但请注明作者「古典」和原文地址「https://www.gudian.org/article/empirecms/66.html」。
如需商业转载或刊登,请联系作者获得授权,感谢您对作者版权的尊重。

© 2018-2019 古典工作室 Gudian.org

本站非盈利性网站,站内文章软件仅供学习交流.