织梦使用伪静态处理TAG标签的方法

织梦的标签页面url形式是“/tags.php?/标签名”,其实我们可以用伪静态来解决这个问题,分析了织梦tag标签生成路径的文件,给大家提供一个参考方法,可以把tag标签伪装成静态文件链接,步骤如下:

举例:我们把 /tags.php?/织梦ok 伪静态为 /tag_织梦ok.html

 

第一步:修改相关文件

打开/include/taglib/tag.lib.php,找到大概87行

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

修改为

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

第二步:配置伪静态规则

在根目录中增加规则文件,iis环境需要加载URL Rewrite模块(对应web.config文件),Apache环境需要加载mod_Rewrite模块(对应httpd.conf文件)

web.config写法:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors>
            <remove statusCode="404" subStatusCode="-1" /><!--404规则-->
            <error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="ExecuteURL" />
        </httpErrors>
        <rewrite>
            <rules>                
                <rule name="tag"><!--tag标签规则 切记name值不能重复-->
                    <match url="^tag_(.*).html$" />
                    <action type="Rewrite" url="tags.php?/{R:1}" />
                </rule>
            </rules>
        </rewrite>
   </system.webServer>
</configuration>

httpd.conf写法:

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

上一篇:dedecms用ajax提交自定义表单的方法

下一篇:织梦CMS各个样式时间调用标签