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页面

时间: 2024-12-25 17:40:14

dedecms标签(tags)页面伪静态设置的相关文章

WordPress 标签Tags页面制作方法

Wordpress自带着wp_tag_cloud()函数,但只在页面侧边显示往往就不够了.需要一个单页来放所有的Tags p.s.在搜索引擎优化SEO上,百度似乎对关键词TAGS更为偏爱 其实就是撰写一个新页面,它要应用一个名为tags.php的自定义模板. tags.php的内容如下 复制代码 代码如下: <?php /* Template Name: Tags */ ?> <?php get_header(); ?> <?php get_sidebar(); ?>

PHP 404页面/如何设置404页面/URL静态化/URL伪静态化

php中如何设置404页面及其他错误页面 首先在项目根目录下新建文件,文件名为" .htaccess " 在该文件中写入一下配置项: ErrorDocument 404 /404.html 或者是带有文件路径的地址: ErrorDocument 404 /error_pages/404.html 其他 401.500 等错误同理 注意点是:( 参考 ) 不要将错误页面指向主页面,可能会导致主页在搜索引擎中消失: 错误页面地址设置用相对路径(如果有绝对地址,会返回发起两次请求,第一次是3

WordPress文章页面添加标签(tags)的方法

一般wordpress主题在文章页面的底部都会有添加标签(tags),假如没有,也不用慌,下面就告诉你WordPress文章页面标签tags调用方法: 单触角蚂蚁的文章页面底部显示的标签(tags) 1.后台→外观→编辑,打开文章页模板single.php,在你需要显示标签(tags)的地方,添加下面的代码: <div id="article-tag"> <?php the_tags('<strong>标签:</strong> ', ' , '

Ecshop导航栏标题栏的伪静态设置

当Ecshop的伪静设置成功之后,左侧的分类标签,包括具体的产品页面都可以顺利的打开伪静态页面,但是点击导航栏,或者标题栏的时候,却还是之前的数据库标签页的方式,这是怎么一回事呢? 这是由于,Ecshop的默认模板的导航栏,是采用直接指定页面的方式来制定的,所以当伪静态设置成功了之后,需到后台手动修改导航栏的链接页面,就可以了,具体操作顺序如下: 找到“系统设置”的“自定义导航栏”栏目,点击进入: 找到自己需要修改的导航栏目,点“编辑”: 如下,手动修改链接地址,或者修改系统栏目到指定的相关栏目

IIS7.5+WebConfig实现页面伪静态和301重定向

IIS7.5+WebConfig实现页面伪静态和301重定向 使用URLRewriter组件在windows 2003 +iis 6.0下配置伪静态的文章网络上一大堆.但在iis7.0或iis 7.5 环境下配置的网站基本上没有讲解的,就算有也是一些无用的代码段,今天好不容易配置成功了,发个日记共享一下经验. 文档下载:http://files.cnblogs.com/files/dunitian/IIS7.5_WebConfig%E5%AE%9E%E7%8E%B0%E9%A1%B5%E9%9D

HTML &lt;base&gt; 标签 为页面上的所有链接规定默认地址或默认目标

定义和用法 <base> 标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白. 使用 <base> 标签可以改变这一点.浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL.这其中包括 <a>.<img>.<link>.<form> 标签中的 URL. <base> 标签必须位于 head 元素内部.

Android 创建标签式的版面设置 (笔记)

  利用TabHost创建标签式的版面设置,进行不同标签的切换,显示不同的背景图片.效果如下所示:               1.添加6张图片资源(直接拖入drawable文件夹),分别为gray.png, white.png, gray2.png, white2.png, gray3.png, white3.png代表的是标签默认状态和按下以后的状态.      2.在 drawable文件夹中新建一般的XML文件,picture.xml, picture2.xml, picture3.xm

帝国cms栏目伪静态设置

帝国cms栏目伪静态设置有三个地方 第一后台系统,伪静态规则设置,如: 信息列表页 [!--classid--],[!--page--] /   第二栏目设置为: 栏目页模式  静态页面  动态页面 第三在服务器(我用的是VPS-centos+apache多虚拟主机) RewriteEngine on RewriteRule ^/glist-(.+?)-(.+?)\.html$ /e/action/ListInfo/index\.php\?classid=$1&page=$2 这两个配置很关键,

java web程序 登陆验证页面 4个页面人性化设置

到这里,快期末考试了,老师不讲课,我心里有苦不想说,也许没有考虑到老师的感受,让老师难堪了 但是我的行为已不再是我可以做的了.不可能了,我只是职业性的机械的做事了. 思路: 1.第一个是form表单,用户输入用户名和密码,点击登陆按钮 a.jsp 2.第二是验证页面,如果不是那个用户名和密码,则显示登陆失败或错误,点击链接重新登陆ok.jsp d.jsp 3.当用户为输入任何数据,即为空的时候,则提示用户先登录,c.jsp 第一个页面,就不写了 验证页面 ok.jsp ? 1 2 3 4 5 6