织梦tag标签伪静态处理方法

织梦标签页面是因为织梦标签的url问题,织梦的标签页面url形式是“/tags.php?/标签名”,百度认为这些都是一个页面,所以只收录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(.htaccess)写法:

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