zoukankan      html  css  js  c++  java
  • dedecms标签(tags)页面伪静态设置

    我们在创建文章的时候经常会设置一些tags,如果发表文章时关键词没添加的话tags也会自动成为文章的关键词,tags是一个不错的功能,通过 关键词链接可以快速寻找到相关内容,但是标签页面的url经常会带有一大串的参数,像这样/tags.php?/%C5%DD%C4%AD%CB%DC %C1%CF/,如何将TAGS静态化这样更加利于SEO呢?

    includetaglibtag.lib.php中,在87行找到

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

     改为:

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

    修改分页代码

    include/arc.taglist.class.php,将分页函数替换为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    /**
     
         *  获取动态的分页列表
         *
         * @access    public
         * @param     int  $list_len  列表宽度
         * @param     string  $listitem  列表样式
         * @return    string
         */
        function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")
        {
            $prepage="";
            $nextpage="";
            $prepagenum = $this->PageNo - 1;
            $nextpagenum = $this->PageNo + 1;
            if($list_len == "" || preg_match("/[^0-9]/", $list_len))
            {
                $list_len = 3;
            }
            $totalpage = $this->TotalPage;
            if($totalpage <= 1 && $this->TotalResult > 0)
            {
                return "<span class="pageinfo">共1页/".$this->TotalResult."条</span>";
            }
            if($this->TotalResult == 0)
            {
                return "<span class="pageinfo">共0页/".$this->TotalResult."条</span>";
            }
            $maininfo = "<span class="pageinfo">共{$totalpage}页/".$this->TotalResult."条</span>rn";
            $purl = $this->GetCurUrl();
            $basename = basename($purl);
            $tmpname = explode('.', $basename);
             
            $purl = str_replace($basename, '', $purl).urlencode($this->Tag);
            //var_dump($purl);exit;
            //$purl .= "?/".urlencode($this->Tag);
      
            //获得上一页和下一页的链接
            if($this->PageNo != 1)
            {
                $prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>rn";
                $indexpage="<li><a href='".$purl."-1.html'>首页</a></li>rn";
            }
            else
            {
                $indexpage="<li><a>首页</a></li>rn";
            }
            if($this->PageNo!=$totalpage && $totalpage>1)
            {
                $nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>rn";
                $endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>rn";
            }
            else
            {
                $endpage="<li><a>末页</a></li>rn";
            }
      
            //获得数字链接
            $listdd="";
            $total_list = $list_len * 2 + 1;
            if($this->PageNo >= $total_list)
            {
                $j = $this->PageNo - $list_len;
                $total_list = $this->PageNo + $list_len;
                if($total_list > $totalpage)
                {
                    $total_list = $totalpage;
                }
            }
            else
            {
                $j=1;
                if($total_list > $totalpage)
                {
                    $total_list = $totalpage;
                }
            }
            for($j; $j<=$total_list; $j++)
            {
                if($j == $this->PageNo)
                {
                    $listdd.= "<li class="thisclass"><a>$j</a></li>rn";
                }
                else
                {
                    $listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>rn";
                }
            }
            $plist  '';
            if(preg_match('/info/i', $listitem))
            {
                $plist .= $maininfo.' ';
            }
            if(preg_match('/index/i', $listitem))
            {
                $plist .= $indexpage.' ';
            }
            if(preg_match('/pre/i', $listitem))
            {
                $plist .= $prepage.' ';
            }
            if(preg_match('/pageno/i', $listitem))
            {
                $plist .= $listdd.' ';
            }
            if(preg_match('/next/i', $listitem))
            {
                $plist .= $nextpage.' ';
            }
            if(preg_match('/end/i', $listitem))
            {
                $plist .= $endpage.' ';
            }
            return $plist;
        }

    设置伪静态规则

    我们这里以iis7为例子,设置以下规则:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="UTF-8"?>
     
    <configuration>
     
        <system.webServer>
     
            <rewrite>
     
                <rules>
     
                    <rule name="weather1" stopProcessing="true">
     
                        <match url="tags/([^-]+).html$" ignoreCase="true" />
     
                        <conditions logicalGrouping="MatchAll">
     
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
     
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     
                        </conditions>
     
                        <action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" />
     
                    </rule>
     
                    <rule name="weather2" stopProcessing="true">
     
                        <match url="tags/([^-]+)-([0-9]+).html$" ignoreCase="true" />
     
                        <conditions logicalGrouping="MatchAll">
     
                            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
     
                            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     
                        </conditions>
     
                        <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" />
     
                    </rule>
     
                </rules>
     
            </rewrite>
     
        </system.webServer>
     
    </configuration>

    可以直接保存为web.config放在站点根目录。

    最后重新生成html页面

    清风明月本无价,近水远山皆有情。
  • 相关阅读:
    Solution: Win 10 和 Ubuntu 16.04 LTS双系统, Win 10 不能从grub启动
    在Ubuntu上如何往fcitx里添加输入法
    LaTeX 笔记---Q&A
    Hong Kong Regional Online Preliminary 2016 C. Classrooms
    Codeforces 711E ZS and The Birthday Paradox
    poj 2342 anniversary party
    poj 1088 滑雪
    poj 2479 maximum sum
    poj 2481 cows
    poj 2352 stars
  • 原文地址:https://www.cnblogs.com/onlylove2015/p/4393614.html
Copyright © 2011-2022 走看看