首页建站帝国CMS教程 帝国CMS自定义伪静态插件_SEO栏目链接优化利器

帝国CMS自定义伪静态插件_SEO栏目链接优化利器

帝国CMS使用中,一般客户采用后台更新,前台纯静态页面方式来提供对外服务,但是很多小伙伴使用帝国CMS搭建站点的时候,由于种种原因并不想使用后台更新前台静态的方式,比如想使用前…

帝国CMS使用中,一般客户采用后台更新,前台纯静态页面方式来提供对外服务,但是很多小伙伴使用帝国CMS搭建站点的时候,由于种种原因并不想使用后台更新前台静态的方式,比如想使用前台动态模式或者伪静态模式。

帝国CMS官方程序版本中,默认支持动态和伪静态方式,为了SEO一般采用伪静态方式,伪静态的URL格式就成了问题,因为默认的伪静态格式实在是太难看了,而且又千篇一律的规范,非常不利于SEO。

那么这次的的改造,就是为了解决这个问题的。让伪静态的URL实现和静态URL地址一样,比如原静态地址为https://www.1cn.cc/notes/1142.html,那么伪静态后的URL地址也是一样的。

改造原因:自定义伪静态URL地址,让伪静态地址实现和静态地址URL地址一样。

改造说明:不修改帝国CMS原始核心文件,稳定安全资源占用小。非插件运行,需墨鱼一对一针对网站进行制作!

特别说明,改造后的伪静态地址只能是  域名/目录(/二级目录)/ID.html  不能是特殊结构!


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

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


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

帝国CMS伪静态插件教程支持帝国官方的缓存

帝国CMS官方提供的伪静态也好用,不过URL看起来真心不爽。所以还是一直喜欢生成静态页的URL

如/栏目目录/id.html

如果伪静态也能实现这样的URL就好了,民间大有人才在,帝国论坛用户5160387免费分享了这样一个插件。

帝国CMS伪静态插件教程

实现栏目目录伪静态,比如news/china/69_1.html是伪静态实现的,而不是生成静态的。纯绿色不影响帝国原有伪静态、静态和动态等功能设置。

动态网站优化必备!结合灵动标签缓存插件,更能承受大数据大流量压力。

1、栏目要选静态 不生成

2、内容页存放目录--栏目目录,内容页目录存放形式--不设置目录,(有利SEO,方便匹配栏目ID)

3、内容页文件命名形式 不能是目录,但是支持信息文件名的修改,URL也能很好看

4、栏目目录和信息文件名是英文或数字(栏目目录建议英文或英文开头,“-_”上下划线留着给别的东西用吧避免冲突如其它伪静态,避免冲突)

********为了通用只能遵守上述要求,有这些特殊需求自己改去*********

设置如下图

1、栏目按上图设置好。

2、.htaccess使用以下伪静态规则:

(1)Apache下的伪静态规则

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

(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;

 
在线下载列表
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/diguo/39983.html
上一篇帝国cms网址缩短(帝国cms怎么用)
下一篇 返回列表
zoulin

作者: zoulin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部