织梦的标签页面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" />
<error statusCode="404" prefixLanguageFilePath="" path="/404.php" responseMode="ExecuteURL" />
</httpErrors>
<rewrite>
<rules>
<rule name="tag">
<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