好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Windows服务器下用IIS Rewrite组件为IIS设置伪静态方

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

查看更多关于Windows服务器下用IIS Rewrite组件为IIS设置伪静态方的详细内容...

  阅读:47次