这篇文章是说明怎么配置IIS Rewrite伪静态,以及DedeCMStag伪静态的方法。
1 | 因为没有像PHP自带的ReWrite模块,所以需要去下载IIS Rewrite模块:
在百度搜索一下IIS Rewrite IIS伪静态组件下载一个
2 | 将下载下来IIS Rewrite IIS伪静态组件压缩包解压到任意目录,(比如解压到:C:\Rewrite)。然后打开”控制面板”>>”管理工具”>>”IIS信息服务管理器”-”网站”-”NI的站点
“>>”属性”。在”ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll ;
3 | 然后修改httpd.ini 文件,添加相应的过滤规则,例如:
RewriteRule ^(.*)/([a-z0-9\-\_]+)$ $1/Default\.aspx\?id=$2 [I,O]
http://localhost/Text 就会等同于 http://localhost/Default.aspx?id=Text
RewriteRule ^(.*)/id_([a-z0-9\-]+)\.html$ $1/Default\.aspx\?id=$2 [I,O]
http://localhost/id_Text.html 就会等同于 http://localhost/Default.aspx?id=Text
^(.*)/html/([0-9]+)/([0-9]+)\.html$ $1/Default\.aspx\?id=$2&name=$3
http://localhost/html/001/007.html 就等同于 http://localhost/Default.aspx?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/
然后再生成相关页面就可以了。