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

2017-06-15 二次开发 浏览 手机预览
文章来源:http://www.imtr.cn/html/n54.html

用织梦做站的朋友会发现,百度从来不收录站里的tag标签页,一开始以为是中文链接的问题,但是在百度又中发现了有中文链接被收录的先例,那么该如何解决百度不收录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


原文地址:http://www.imtr.cn/html/n54.html
  • 如果你的问题还没有解决,可以点击页面右侧的“ ”,站长收到问题后会尽快回复解决方案到你的邮箱。
  • 创造始于问题,有了问题才会思考,有了思考,才有解决问题的方法,才有找到独立思路的可能。 —— 陶行知