让dedecms的tags标签页实现伪静态化

修行者 网站建设 2193浏览 3评论

织梦DedeCMS是一个强大的网站内容管理系统,可以全站静态化,非常适合seo优化,唯一让人不爽的是它的tag标签链接是“tags?/”这样的动态url。那么有没有办法将原来的“/tags.php?/xxxx/”变成“/tags/xxxx.html”这样的url形式呢?答案是肯定的,下面星星之火就分享一下实现dedecms的tag标签伪静态的修改方法。

首先打开dedecms的/include/taglib/tag.lib.php文件,找到第87行如下这句代码

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

将其改成

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

然后我们打开所使用模板文件夹下的taglist.htm文件,比如默认模板文件夹就是templets/default/taglist.htm,用编辑器打开在里面查找“tags.php”将其全部修改为“tags.html”

最后来设置我们的伪静态规则

以IIS7为例,我们应该在web.config里写入如下伪静态规则

<?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>

如果你是IIS6,那么就是在httpd.ini文件里加入下面这段

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

而Linux主机的.htaccess写法就是

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

最后我们进入dedecms后台更新下缓存就算搞定了。

修行者

本文地址http://xxzh.org/web/dedecms-tags-weijingtai.html

版权说明:如非注明,本站文章均为 修行者博客 原创,转载请注明出处和附带本文链接。

已有3位小伙伴发表了看法
  1. heyuan

    heyuan游客 回复Ta 路过看看

  2. ISO9000

    ISO9000游客 回复Ta 路过看看,学习了
    一品顾问机构,最好的ISO9000认证,ISO9000咨询,ISO9000辅导服务机构
    http://www.ceoyes.cn

  3. 小鬼哥

    小鬼哥游客 回复Ta 元芳说,现在静态已经不那么重要啦

    • 修行者

      修行者管理员 回复Ta @小鬼哥 百度现在虽然自称已经能够完美抓取动态页面,但从目前的搜索结果看静态url得到的权重更高些。

发表评论(友情提示:可直接按Ctrl+Enter提交评论)
来宾的头像
访客