易腾动力社区
标题:
IIS ISAPI_Rewrite配置
[打印本页]
作者:
jaly
时间:
2016-11-4 10:57
标题:
IIS 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的伪静态组件安装和伪静态配置方法,还包括常用的伪静态规则使用方法。
一.)下载IIS伪静态组件——ISAPI_Rewrite3完全破解版
ISAPI_Rewrite3非常好用,是个人见过最好用同时可以支持多站点的IIS伪静态组件!
西西下载(
http://www.cr173.com/soft/20857.html
);
湖北电信下载
湖南电信下载
江苏电信下载
北方网通下载
安徽电信下载
广东电信2下载
浙江电信下载
二.)安装IIS伪静态组件
1、以下载本网站的破解版为例:将下载的ISAPI_Rewrite3解压,你会看到两个文件(分别是:ISAPI_Rewrite.dll 和httpd.conf);
把整个文件夹解压到安装在C:\Program Files\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的错误。
三.)IIS伪静态配置方法
我们打开Internet 信息服务(IIS)管理器,找到"网站",右键打开"属性"选项卡;
选择"ISAPI 筛选器"选项卡,点击"添加",弹出"添加/编辑筛选器属性","筛选器名称"写上ISAPI_Rewrite,这个可以自定义;"可执行文件"这里,通 过"浏览"找到伪静态组件安装目录下的ISAPI_Rewrite.dll文件即可,路径是C:\Program Files\ISAPI_Rewrite\ISAPI_Rewrite.dll;
一路确定之后,我们重启下IIS管理器,之后再次打开网站属性的"ISAPI 筛选器",看下是不是刚刚添加的ISAPI_Rewrite变为绿色向上的箭头呢?这样的话伪静态就配置成功了。
四.)IIS伪静态使用方法
IIS伪静态配置成功后,在你的IIS管理器——网站下面,任意建立一个新网站,就可以使用伪静态了。你只需要在新网站根目录下新建立一个.htaccess文件,用记事本打开,在里面写上相应的伪静态规则即可。
五.)测试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 ; 如果结果是一样的,则表明重写成功。
至此,如果测试成功,则表示安装配置成功!
作者:
jaly
时间:
2016-11-4 11:13
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
测试通过。
常见规则写法
常见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]
作者:
jaly
时间:
2016-11-4 11:15
这个软件不需要注册码就能用,而且根本不会过期的。是完全版哦!
现在网上所用的ISAPI_Rewrite,一般要么是用2.9的完全版,要么是用3.0的Lite版。
Lite版只支持全局的httpd.conf的,不支持分布式的httpd.ini的。只有Full版才支持分布式httpd.ini。也就是说,只要安装了ISAPI_Rewrite 3.1Full,然后再在全局的httpd.conf里写入这么一段内容:
ISAPI_Rewrite3安装、使用方法(ISAPI_Rewrite3版本是3.1.0.73)
安装:
1、先从官网下一个完全版的ISAPI_Rewrite3(
http://www.helicontech.com/downl ... I_Rewrite3_0073.msi
)并安装;
2、在将Rewrite破解文件夹中的dll文件覆盖到程序安装目录下ISAPI_Rewrite.dll和ISAPI_RewriteSnapin.dll,如果提示在使用则把要覆盖的dll文件重命名在复制即可;
3、打开安装目录下的httpd.conf文件,在里面输入以下内容并保存,这样就没有使用天数的限制了;
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA
4、安装好后记得给ISAPI_Rewrite3软件安装目录network service的读权限。
具体操作方法:
用“破解文件夹”中的ISAPI_Rewrite.dll和ISAPI_RewriteSnapin.dll覆盖"ISAPI_Rewrite3"中的ISAPI_Rewrite.dll和ISAPI_RewriteSnapin.dll,但在覆盖的时候,发生错误提示:ISAPI_Rewrite.dll正在使用,写盘保护什么的…………,我是这样解决的
1、需要先停止iisadmin
开始,运行
net stop /y iisadmin
再进行复盖。如果复盖时还提示拒绝访问,也可以全选把原来安装文件夹的文件删除再复制复盖,复盖完成后【ISAPI_RewriteSnapin.dll我就是删除在粘贴破解文件的】。
---------附注:如果要设置权限什么的,请在这步后设置权限,一般建议:
我的安装目录f:\ISAPI_Rewrite3,ISAPI_Rewrite3键入:administrator、system全部权限,Everyone 用户并赋予读权限(读写和运行、读写、目录),iis的读权限
ISAPI_RewriteSnapin.dll赋予 Everyone 用户并赋予读权限;
2、
net start iisadmin
net start w3svc
net start ftPSvc
即完成了破解
3、清除网站全站属性下的ISAPI_Rewrite筛选器,如图
具体的在各个站点配置Isapi筛选器即可
配置好后,请重启iis,才能生效
同时要在实现静态重写的网站根目录下放入.htaccess文件,在.htaccess写网站的静态规则
欢迎光临 易腾动力社区 (http://bbs.yidz.cn/)
Powered by Discuz! X3