我们都知道织梦标签页的默认路径格式是www.xxx.com/tags.php?/标签/
我们一般会希望它的路径是www.xxx.com/tag/标签/
或者【标签】这个中文字符不出,直接用ID或者拼音啥的,这里不提这种处理方案,百度有对应tag静态化的教程
我这里用到的有百度云、阿里云以及小平台的虚拟机各一个,刚好就全部做了一下测试,也都实现了:
①将include/taglib/tag.lib.php 87行的$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";改成$row['link'] = $cfg_cmsurl."/tag/".urlencode($row['keyword'])."/"; 这样页面上的标签链接就变成了我们想要的链接
②路由重写
【百度云nginx路由重写】
文件名:
bcloud_nginx_user.conf
内容:
location / {
rewrite ^/tag/(.*)$ /tags.php?/$1 last;
}
【阿里云Linux-apache路由重写】
文件名:
.htaccess
内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^tag/(.*)$ tags.php?/$1
【iis路由重写】
文件名:
web.config
内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite" stopProcessing="true">
<match url="^tag/(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="tags.php?/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
③用户访问页面上的www.xxx.com/tag/标签/,实际上取得的内容是www.xxx.com/tags.php?/标签/,刚好符合了我的需求
希望能给有同样需求的站长们提供一点点帮助