这篇文章是说明怎么配置IIS Rewrite伪静态,以及dedecms tag伪静态的方法。
1、因为没有像PHP自带的ReWrite模块,所以需要去下载IIS Rewrite模块:
在百度搜索一下IIS Rewrite IIS伪静态组件下载一个
2、将下载下来IIS Rewrite IIS伪静态组件压缩包解压到任意目录,(比如解压到:C:\Rewrite)。然后打开“控制面板”>>“管理工具”>>“IIS信息服务管理器”-“网站”-“您的站点
”>>“属性”。在“ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll ;
3、然后修改httpd.ini 文件,添加相应的过滤规则,例如:
RewriteRule ^(.*)/([a-z0-9\-\_]+)$ $1/Default\.aspx\?id=$2 [I,O]
就会等同于 ?id=Text
RewriteRule ^(.*)/id_([a-z0-9\-]+)\.html$ $1/Default\.aspx\?id=$2 [I,O]
就会等同于 ?id=Text
^(.*)/html/([0-9]+)/([0-9]+)\.html$ $1/Default\.aspx\?id=$2&name=$3
就等同于 ?id=001&name=007
DEDE的添加方法(注意:这里是正则方式):
RewriteRule ^(.*)/tag/(.+)$ $1/tag\.php\?$2/
RewriteRule ^(.*)/tag/(.+)\.html$ $1/tag\.php\?$2
4、重新启动IIS就可以生效了(这一步很重要,每次修改httpd.ini后都要重启 IIS 以加载配置。)
5、然后修改DEDE相关函数:
\include\inc_arcpart_view.php
\include\inc_channel_unit_functions.php
\include\inc_pubtag_make.php
\include\inc_taglist_view.php
即:把所有链接改为静态地址:tag.php?/ ->tag/