设为首页 - 加入收藏
您的当前位置:主页 > CMS教程 > 织梦CMS > 正文

织梦CMS Tags标签页以及列表分页伪静态实现的方法

来源:网络收集 点击数: 时间:2018-01-25

假如不知道如何制作Tags页面,请点击《织梦CMS织梦Tags标签页制作》,前几天在《织梦CMS全站伪静态实现方法》一文中,A3站长在讲全站伪静态的实现方法时,浅显的讲解了Tag标签页的伪静态实现方法,虽然能实现Tags标签的伪静态,但是列表分页还是动态的,这样并不是全部伪静态,A3站长今天就详细说说织梦CMS的Tags标签页全部伪静态实现的方法:

一、Tags标签页首页伪静态

这里就是常说的tags.php页面的伪静态了,因为这个页面本身生成的就是一个伪静态的页面,只是地址是.php结尾,不少人喜欢改为.html的,那么这里只需要做好伪静态规则就可以了。

IIS6.0服务器伪静态规则为:


RewriteRule ^(.*)/tags.html $1/tags.php
 

IIS7.0及以上服务器伪静态规则(如需扩展,请参考《IIS7、IIS8伪静态和301重定向文件web.config的规则书写》)为:


  <rule name="Redirecttags" stopProcessing="true">
                        <match url="^tags.html" />
                      <action type="Rewrite" url="tags.php" />
                    </rule>
 

Apache服务器伪静态规则为:


RewriteRule ^tags.html /tags.php
 

二、Tags标签列表页伪静态

这里即为每个关键词的相关文章列表展示页面,Dede默认的样式为/tags.php?/标签关键词,这样明显是个动态页面,我们要做修改变成一个伪静态页面,A3站长就以做成/tags/关键词.html这个样式为例,作修改。

1.修改include aglib ag.lib.php文件,大概在87行,把:


$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
 

修改为:


$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
 

2.修改includerc.taglist.class.php文件,大概在457行,把:


$purl = $this->GetCurUrl();
$purl .= "?/".urlencode($this->Tag);
 

修改为:


$purl = $cfg_cmsurl;
$purl .= "/tags/".urlencode($this->Tag);
 

这里还有一个问题就是,首页的列表样式会生成一个/tags/keys/1.html这样的,很显然我们不需要的,这里也要做下修改,includerc.taglist.class.php文件,大概在507行,把:


  else
          {
      $listdd.="<a href='".$purl."/$j.html'>".$j."</a> ";
            }
 

修改为:


else
  {
    if($j == 1)
      {
              $listdd.= "<a href='".$purl.".html'>".$j."</a> ";
            }
        else
      $listdd.="<a href='".$purl."/$j.html'>".$j."</a> ";
    }
 

加个判断,如果是第一页就直接生成/tags/keys.html这种地址格式,就不会生成1.html这样的后缀,实现地址格式seo化。

3.IIS6.0服务器伪静态规则中写:


RewriteRule ^(.*)/tags/(.*).html $1/tags.php?$2
 

IIS7.0及以上服务器伪静态规则中写:


<rule name="Redirecttags1" stopProcessing="true">
                        <match url="^tags/(w+).html" />
                          <action type="Rewrite" url="tags.php?/{R:1}"/>
                    </rule>
 

Apache服务器伪静态规则中写 :


RewriteRule ^tags/(.*)(?:(?.*))*.html$ tags.php?/$1
RewriteRule ^tags/(.*)/(?:(?.*))*.html$ tags.php?/$1/
 

三、Tags标签列表页分页链接伪静态

做完前两步修改,我们会发现,tags首页和列表页实现了伪静态,但是列表页分页是/tags/关键词/2/这样的形式,而且会出现404错误,这里我们还要进一步做修改,实现像/tags/关键词/2.html这种样式。

1.修改includerc.taglist.class.php文件,大概在464行,把:


$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li> ";
$indexpage="<li><a href='".$purl."/1/'>首页</a></li> ";
 

修改为(其实就是在链接后加了个后缀.html):


$prepage.="<a href='".$purl."/$prepagenum.html'>上一页</a> ";
$indexpage="<a href='".$purl.".html'>首页</a> ";
 

2.修改includerc.taglist.class.php文件,大概在473行,把:


$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li> ";
$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li> ";
 

修改为(其实就是在链接后加了个后缀.html):


$nextpage.="<a href='".$purl."/$nextpagenum.html'>下一页</a> ";
$endpage="<a href='".$purl."/$totalpage.html'>末页</a> ";
 

3.修改includerc.taglist.class.php文件,大概在509行,把:


$listdd.="<li><a href='".$purl."/$j/'>".$j."</a></li> ";
 

修改为(其实就是在链接后加了个后缀.html):


$listdd.="<a href='".$purl."/$j.html'>".$j."</a> ";
 

4.IIS6.0服务器伪静态规则中写:


RewriteRule ^(.*)/tags/(.*)/([0-9]+).html $1/tags.php?/$2/$3/
 

IIS7.0及以上服务器伪静态规则中写:


<rule name="Redirecttagsl" stopProcessing="true">
                        <match url="^tags/(w+)/([0-9]*).html" />
                          <action type="Rewrite" url="tags.php?/{R:1}/{R:2}"/>
                    </rule>
 

Apache服务器伪静态规则中写 :


RewriteRule ^tags/(.*)/([0-9])(?:(?.*))*.html$ tags.php?/$1/$2
RewriteRule ^tags/(.*)/([0-9])/(?:(?.*))*.html$ tags.php?/$1/$2/
 

这样就完美实现了织梦CMS Tags标签页以及列表分页伪静态,A3站长把自己整套Tags页伪静态规则贴出来,大家参考

IIS6.0服务器伪静态规则:


RewriteRule ^(.*)/tags.html $1/tags.php
RewriteRule ^(.*)/tags/(.*).html $1/tags.php?$2
RewriteRule ^(.*)/tags/(.*)/([0-9]+).html $1/tags.php?/$2/$3/
 

IIS7.0及以上服务器伪静态规则:


<rule name="Redirecttagsl" stopProcessing="true">
    <match url="^tags/(w+)/([0-9]*).html" />
          <action type="Rewrite" url="tags.php?/{R:1}/{R:2}"/>
    </rule>
    <rule name="Redirecttags1" stopProcessing="true">
<match url="^tags/(w+).html" />
        <action type="Rewrite" url="tags.php?/{R:1}"/>
            </rule>
        <rule name="Redirecttags" stopProcessing="true">
  <match url="^tags.html" />
            <action type="Rewrite" url="tags.php" />
        </rule>
 

Apache服务器伪静态规则 :


RewriteRule ^tags.html /tags.php
RewriteRule ^tags/(.*)(?:(?.*))*.html$ tags.php?/$1
RewriteRule ^tags/(.*)/(?:(?.*))*.html$ tags.php?/$1/
RewriteRule ^tags/(.*)/([0-9])(?:(?.*))*.html$ tags.php?/$1/$2
RewriteRule ^tags/(.*)/([0-9])/(?:(?.*))*.html$ tags.php?/$1/$2/
 
栏目分类

A3站长网 站长网 站长网技术网 站长教程网 织梦CMS教程 织梦模板 帝国CMS模板 联系QQ:26991496 邮箱:26991496@qq.com

A3站长网:欢迎您!谢谢您的访问...

Top