【www.gdgbn.com--apache】

注:iis rewrite简单使用方法介绍:一个功能强大的url处理引擎,功能和apache的 mod_rewrite类似,这个是for iis版本 可以把像list.asp教程?id=234 这样的链接映射成 list/234.html 这样就有利于在gg中的排名

完全版(full)与简化版(lite)的最大的区别在于可以让每个站点自定义url重写规则(rewrite rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。

安装说明:下载后可以解压出 isapi_rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 iis 站点属性的 isapi 中加载 isapi_rewrite.dll  就可以了, httpd.ini  是配置文件里面有例子。如果加载不成功的话 请给 isapi_rewrite.dll   安全属性为完全。



2、在“iis管理器”里选择网站,右键,属性。

 

3、选择“isapi”,点击“添加”。



4、填入筛选器名称,如“rewrite”。

 

5、可执行文件下方点击“浏览”,选择刚才解压的rewrite组件位置,rewrite.dll。

 
6、确认选择正确后,点击“确定”。

7、点击“确定”,完成筛选器添加。

8、重启iis。

 

9、重启iis后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 iis rewrite 成功添加并运行。

 

iis rewrite 规则设置

解压后的 iis rewrite 组件目录(如 c:rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。

1. 安装重写插件rewrite.dll

如果你的 iis 服务器加载过 rewrite.dll 则可以不用下载。

rewrite.dll文件:百度搜索关键字:rewrite.dll 下载

加载 rewrite.dll

在 iis 的 isapi 上添加筛选器

筛选器名称为:re

可执行文件选择 rewrite.dll 就可以了!

2. 配置 httpd.ini
打开你的httpd.ini,找到

[isapi_rewrite]

# 3600 = 1 hour
cacheclockrate 3600

repeatlimit 32

# protect httpd.ini and httpd.parse.errors files
# from accessing through http
rewriterule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php教程?$2
rewriterule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
rewriterule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3d$4&page=$3
rewriterule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3

以上是 discuz!官方提供的配置代码,注意正则格式。

3. 应用
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html

可以这样写:

rewriterule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3

要使你的iis服务器支持伪静态重写,按以下步骤来:

1. 安装重写插件rewrite.dll

如果你的 iis 服务器加载过 rewrite.dll 则可以不用下载。

加载 rewrite.dll

在 iis 的 isapi 上添加筛选器

筛选器名称为:re

可执行文件选择 rewrite.dll 就可以了!

2. 配置 httpd.ini
打开你的httpd.ini,找到

[isapi_rewrite]

# 3600 = 1 hour
cacheclockrate 3600

repeatlimit 32

# protect httpd.ini and httpd.parse.errors files
# from accessing through http
rewriterule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
rewriterule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
rewriterule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3d$4&page=$3
rewriterule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3

以上是 discuz!官方提供的配置代码,注意正则格式。

3. 应用
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html

可以这样写:

rewriterule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3

再例:

123.php?id=123
123/id/123
rewriterule ^123/id/([0-9][0-9][0-9])/$ /123.php?id=$1
or
rewriterule ^123/id/([0-9]+)$ /123.php?id=$1

pw的规则:[isapi_rewrite]
rewriterule ^(.*)-htm-(.*)$ $1.php?$2
rewriterule ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2

注:比如互动百科的伪静态,设置方法和这些都是差不多的,学会这个方法了其它的一些系统的伪静态设置都是差不多的,不同的可能就是伪静态的规则设置会不一样。

个人备注:

这里的$1, $2, $3就是前一个表达式的匹配值

比如:

^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2

本文来源:http://www.gdgbn.com/jiaocheng/29412/