2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

ISAPI_Rewrite,ISAPI_Rewrite用来实现伪静态,将动态网页通过重写URL的方法实现去掉动态网页的参数!它的行为是像Apache的mod_Rewrite ,但专为微软的Internet信息服务( IIS )。 IIS配置相当简单,配置好之后就有一些细节是需要调试的比如在Apache’s上很有用的.htaccess文件在IIS上就没有,要想实现类似的跳转功能可以使用ISAPI_Rewrite来代替,这是一个专门为IIS设置的工具,目的就是代替.htaccess实现很多功能,其中最常用的就是301转向和伪静态。

准确来说它应该是代替Apache’s上的mod_Rewrite,还不能够完全代替.htaccess所以在语法和使用上有很多要注意的地方。

ISAPI_Rewrite是一个ISAPI筛选器的书面纯的C / C + +所以速度极快。

Windows2003下IIS6.0的伪静态组件安装和伪静态配置方法,还包括常用的伪静态规则使用方法。

1)下载IIS伪静态组件——ISAPI_Rewrite3完全破解版

ISAPI_Rewrite3非常好用,是个人见过最好用同时可以支持多站点的IIS伪静态组件!

1、绿色资源网下载(http://www.downcc.com/soft/info/13513.html);

2

2)安装IIS伪静态组件

1、以下载本网站的破解版为例:将下载的ISAPI_Rewrite3解压,你会看到两个文件(分别是:ISAPI_Rewrite.dll 和httpd.conf);

把整个文件夹解压到安装在C:Program FilesISAPI_Rewrite下;

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

2、将Rewrite破解文件夹中的ISAPI_Rewrite.dll文件覆盖到程序安装目录下替换即可;

3、打开安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;

RegistrationName= wlqcwin

RegistrationCode= 2EAD-35GH-66NN-ZYBA

4、安装好后记得给ISAPI_Rewrite3软件安装目录network service的读权限(或Users的读权限),否则会出现无法加载ISAPI_Rewrite的错误。

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

3)IIS伪静态配置方法

我们打开Internet 信息服务(IIS)管理器,找到”网站”,右键打开”属性”选项卡;

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

选择”ISAPI 筛选器”选项卡,点击”添加”,弹出”添加/编辑筛选器属性”,”筛选器名称”写上ISAPI_Rewrite,这个可以自定义;”可执行文件”这里,通 过”浏览”找到伪静态组件安装目录下的ISAPI_Rewrite.dll文件即可,路径是C:Program FilesISAPI_RewriteISAPI_Rewrite.dll;

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

一路确定之后,我们重启下IIS管理器,之后再次打开网站属性的”ISAPI 筛选器”,看下是不是刚刚添加的ISAPI_Rewrite变为绿色向上的箭头呢?这样的话伪静态就配置成功了。

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

4)IIS伪静态使用方法

IIS伪静态配置成功后,在你的IIS管理器——网站下面,任意建立一个新网站,就可以使用伪静态了。你只需要在新网站根目录下新建立一个.htaccess文件,用记事本打开,在里面写上相应的伪静态规则即可。

5)测试IIS伪静态是否生效

1、在某个单独网站(如:localhost)新建.htaccess文件,并在文件中写上以下规则:

RewriteEngine on

RewriteBase /

RewriteRule ^get-(.*).html /get.asp?id=$1

#说明:RewriteEngin on表示启用重写功能;RewriteBase / 表示重写的路径是从网站根目录开始。

2、在localhost下新建get.asp文件,文件内容以下:

<% response.write(“get_id=” & request.querystring(“id”)) %>

3、在浏览器中分别输入http://localhost/get-123.html 和 http://localhost/get.asp?id=123 ; 如果结果是一样的,则表明重写成功。

2003+IIS6.0添加伪静态组件ISAPI_Rewrite图文教程

至此,如果测试成功,则表示安装配置成功!

IIS6.0配置aspx伪静态教程

1、安装

安装ISAPI_Rewrite3,一路next,默认安装到了服务器的C:\ISAPI_Rewrite3(目录自由设置,但需保证有iis浏览的权限),接着打开IIS-web服务扩张-右键-添加一个新的web服务扩展,扩展名字写ISAPI_Rewrite,要求文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll,并且设置为允许。

2、配置IIS

打开iis,右键你的站点属性–ISAPI 筛选器–添加–筛选器名称是ISAPI_Rewrite3 –可执行文件就是ISAPI_Rewrite.dll的路径,比如C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll

给用户网站主机头加上“network service”的读权限,其实就是该用户网站的文件夹的网络读写权限。

安装IIS Rewrite3后,会在全局的网站下 “iis> 网站 》属性> isapi 筛选器”选项里面,删除 isapi_rewrite3这个ISAPI筛选器,必须去掉这个isapi_rewrite3筛选器,否则其它的网站(除首页外)的页面无法访问!

最后重启iis
当然你可以把ISAPI_Rewrite3目录放入站点根目录下,但记得要给一个users和”network  service”的读权限。

注意:有些服务器或者vps有做权限的,安装后httpd.conf可能只有everyone和system的权限,如果修改不了文件就添加一个administrator的权限

注意:如果服务器上网站较多,而仅仅要设置其中的一个,重新打开IIS-网站-右键属性-ISAPI筛选器,把里面的ISAPI_Rewrite删除,到需要设置防盗链的网站-右键属性-ISAPI筛选器-添加一个新的筛选,筛选名称ISAPI_Rewrite,可执行文件C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll。这样就仅对一个网站设置伪静态了。

3、设置

开始菜单-所有程序-Helicon-ISAPI_Rewrite3-ISAPI_Rewrite Manager打开,点击edit加入如下规则:

# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.64

#伪Html部份
RewriteRule /test-(\d*)-(\d*).html /test.aspx\?id=$1&aa=$2

(写法请参照正则表达式)

因为使用的是免费版,所以只能对整个站点进行设置,这个设置将对你服务器上的所有网站生效,如果是正式版的话,将会对所有不同的网站进行单独的设置。

原test.aspx的代码为:

<form method=”post” runat=”server”>
id号为:<%=id%>,name号为<%=name%>
</form>

test.aspx.cs的代码为:

    protected int id = 0;
protected int name = 0;

private void Page_Load(object sender, System.EventArgs e) {
if (!Page.IsPostBack) {
try {
id = int.Parse(Request.QueryString[“id”].ToString());
}
catch { id = 0; }
try {
name = int.Parse(Request.QueryString[“name”].ToString());
}
catch { name = 0; }
}
}

4、测试:

在地址栏输入:http://localhost/test-4-1000.html

网页显示结果为:id号为:4,name为1000

测试通过。

[page]常见规则写法[page]

常见ISAPI_Rewrite规则写法

# 排除当前虚拟主机需要正常访问的域名(web.eboat.cnwww.eboat.cn)

# RewriteCond Host: (?:web|www)\.eboat\.cn

# 多数情况下是一个,即当前提供二级域名服务的系统(如建站系统)

RewriteCond Host: web\.eboat\.cn

RewriteRule (.*) $1 [L]

# 解决不规范目录(末尾无/)的问题

# 但前提是目录名不含‘.’而文件名必须包含,否则无法区分两者

# 如果保证URL中的目录名称规范,则无需此规则

RewriteRule ^/([^.]+[^/]$) /$1/ [L,R]

# 提取任意的二级域名名称(即第一个词汇)

# 用[a-zA-Z0-9_-]限制名称字符,重写Url到Home/子目录下

# 如 test.eboat.cn=> web.eboat.cn/Home/test

RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn

RewriteRule ^/(.*) /Home/$1/$2 [I,L]

[ISAPI_Rewrite]

RepeatLimit 1

# Defend your computer from some worm attacks

RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

# 排除当前虚拟主机需要正常访问的域名(web.eboat.cnwww.eboat.cn)

# RewriteCond Host: (?:web|www)\.eboat\.cn

# 多数情况下是一个,即当前提供二级域名服务的系统(如建站系统)

RewriteCond Host: web\.eboat\.cn

RewriteRule (.*) $1 [L]

# 解决不规范目录(末尾无/)的问题

# 但前提是目录名不含‘.’而文件名必须包含,否则无法区分两者

# 如果保证URL中的目录名称规范,则无需此规则

RewriteRule ^/([^.]+[^/]$) /$1/ [L,R]

# 提取任意的二级域名名称(即第一个词汇)

# 用[a-zA-Z0-9_-]限制名称字符,重写Url到Home/子目录下

# 如 test.eboat.cn=> web.eboat.cn/Home/test

RewriteCond Host: ([a-zA-Z0-9_-]+)\.eboat\.cn

RewriteRule ^/(.*) /Home/$1/$2 [I,L]

分享到:

发表评论

沙发空缺中,还不快抢~