搜外网>搜外问答>问答页面

有没有懂帝国CMS TAG标签插件规则的大佬呢?遇到个TAG链接转换规则的问题 推荐热议 悬赏8元 已结束

大佬们好,我用帝国CMS装了个TAG标签插件,根据教程写了web.config规则

然后TAG页面显示好着,正常显示

但是分页链接显示错误,

我能判断到是规则的问题,但是测试好几种方法,还是修改不成功。

TAG规则是这样写的:

              <rule name="itag">

              <match url="^(.*/)*tag/([a-z0-9]+)\.html\?*(.*)$" />

            <action type="Rewrite" url="{R:1}/e/tags/itag.php\?py={R:2}" />

            </rule>


这个是TAG分页规则:

<rule name="itagpage">

<match url="^(.*/)*tag/([a-z0-9]+)_([0-9]+)\.html\?*(.*)$" />

<action type="Rewrite" url="{R:1}/e/tags/itag.php\?py={R:2}&page={R:3}" />

</rule>

但是分页规则写进去就提示报错,不写分页规则,TAG分页链接又是错误的404

测试多次发现 只要加了 &page={R:3} 这个段分页代码就报错


附上链接:

https://www.shanxisl。Com/tag/zhuanli.html

这是TAG页面链接页面,只要加了分页规则&page={R:3} 分页链接就显示错误404

分页第二页还是显示第一页:

https://www.shanxisl。Com/tag/zhuanli_1.html
[?]

追加问题
    9 人参与回答
艾克SEO
艾克SEO · ⚫新站快收⚫K站恢复 ⚫网站建设外贸 商城小程序 ⚫SEO优化 诊断 托管 运营 ⚫QQ/微信:97358052
网站建设PE管厂家 等 2 人赞同该回答

帝国CMS默认的tags页面伪静态设置很简单。设置伪静态后,url链接如下:

测试修改之后的效果:

实现方法:
1、打开/e/class/文件,查找(大约在1714行):

//返回TAGS列表伪静态
function eReturnRewriteTagsUrl
将整个函数修改为下面的:

//返回TAGS列表伪静态
function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
global $public_r,$empire,$dbtbpre;
if(!$tagid){
$tagname=RepPostVar($tagname);
if(!$tagname){
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagr=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$tagname' limit 1");
if(!$tagr['tagid']){
$r['pageurl']=$public_r['newsurl'];
$r['rewrite']=0;
return $r;
}
$tagid=$tagr['tagid'];
}
if(empty($public_r['rewritetags'])){
$r['pageurl']=$public_r['newsurl']."e/tags/?tagid=".$tagid;
$r['rewrite']=0;
}else{
if($ecms==1){
$r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagid,0),$public_r['rewritetags']);
}else{
$r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagid,$public_r['rewritetags']);
}
$r['rewrite']=1;
}
return $r;
}
2、/e/tags/文件,找到如下代码(大约在227行)将其注释,不用。

if(!empty($public_r['rewritetags'])&&empty($add)&&($search=='&tagname='.$tagname.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid']||$search=='&tagid='.$tagid.'&line='.$public_r['tagslistnum'].'&tempid='.$public_r['tagstempid'])&&!$myorder)
{
再往下继续找到如下代码,也将其注释,不用。

}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);//分页
}
如下图所示操作:

/e/tags/文件,找到如下代码(大约在227行)将其注释,不用。

3、在后台设置伪静态规则

后台——系统——系统设置——伪静态参数设置——TAGS信息列表页:点击默认,如下图:

后台——系统——系统设置——伪静态参数设置——TAGS信息列表页

4、给网站添加伪静态规则。

Apache环境下的伪静态规则如下:

RewriteEngine OnRewriteRule ^tags-(.)-(.)$ e/tags/$1&page=$2
Nginx环境下的伪静态规则如下:

rewrite ^/tags-(.)-(.)$ /e/tags/$1&page=$2;


rewrite ^([^.]*)/tags-(.+?)-(.+?).html$ $1/e/tags/$2&page=$3 last;
5、最后打开有tags标签的列表或内容页即可看到最终效果。

推推蛙
推推蛙 · 擅长SEOSEM爱采购诊断、方案编写、优化运维。微信:tuituiwaseo
罗凌峰河景一家 等 2 人赞同该回答

1、点击tag的翻页链接,上面URL有变化,但是这个页面一直是第一页的页面,无法调用到翻页的页面内容;
2、东坡网插件,貌似里面有qq和微信可做技术咨询,如果提供文档无法操作,可加客服问问;
3、tag规则


翻页的代码


如果改成这样,试试,看是否成功。

4、考虑下是否是翻页代码存在问题

对比你正常新闻页的翻页代码,及tag页的翻页代码

正常的

<a class="number" href=" 具体URL


异常的  你的是否是缺乏这个 a class-=number

你的都是空,所以不管怎么点击,都是第一页

花开若相依的 等 1 人赞同该回答

如果一点都不太懂的话最好的找个技术帮你看看

河景一家 等 1 人赞同该回答

付费购买的tag插件,可以去购买哪里问问吧,如果自己测试不成功,可以找客服看看怎么调整

这个我真不懂 看看大神怎么说

来看看各位大神的回复

子非吾
子非吾 · 建站、SEO优化、SEM推广,运营

这是TAG规则 :



这个是加了分页 规则 后的 全站报错页面 只要加了 Tag伪静态规则里面的 &page={R:3} 这一段,就会报错,不加这一段,代码又不完整,分页肯定就是错误的,不能正常分页,也就是 点不到第二页。

你试试把分页的e/tags/itag换成e/tags/itagpage试试呢

还有就是你的e/tags目录下确定是否有itag和itagpage这两个文件,我看原生的帝国是没有itag PHP文件的,所以你这边魔改过的?

来看看大神的回复