易腾动力社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8799|回复: 2
打印 上一主题 下一主题

IIS ISAPI_Rewrite配置

[复制链接]
跳转到指定楼层
楼主
发表于 2016-11-4 10:57:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 ; 如果结果是一样的,则表明重写成功。

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
沙发
 楼主| 发表于 2016-11-4 11:13:39 | 只看该作者
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]
板凳
 楼主| 发表于 2016-11-4 11:15:03 | 只看该作者
这个软件不需要注册码就能用,而且根本不会过期的。是完全版哦!
现在网上所用的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写网站的静态规则
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易腾动力 ( 粤ICP备12094338号 )

GMT+8, 2025-5-4 17:47 , Processed in 0.045921 second(s), 16 queries .

Powered by Discuz! X3

© 2001-2024 Yidz Inc.

快速回复 返回顶部 返回列表