ISAPI

    技术2022-05-11  122

    54powerman@163.comhttp://54powerman.blog.sohu.com

    1. 从http://www.isapirewrite.cn下载ISAPI_Rewrite Lite版,安装在硬盘上,如C:/Program Files/Helicon/ISAPI_Rewrite;2. 打开IIS管理,选择要配置的主机,转到“ISAPI筛选器”选项卡。并添加一个筛选器,名称任意,执行文件为“C:/Program Files/Helicon/ISAPI_Rewrite/ISAPI_Rewrite.dll”;3. 修改C:/Program Files/Helicon/ISAPI_Rewrite/httpd.ini文件,添加相应的过滤规则,例如:我要将输入的网址localhost/54powerman显示localhost/blog.asp?id=54powerman,在配置文件中输入如下配置信息。RewriteRule ^(/)([a-z0-9/-/_]+)$ /blog.asp?id=$2 [I,O]4. 运行iisreset,重启IIS;这一步很重要,每次修改httpd.ini后都要重启以加载配置。5. 测试,在站点首页目录添加新的blog.asp作为测试页面,输入代码:<%Response.Write "Hello," & Request.QueryString("id") & ".This is your blog."%>6. 在浏览器地址栏中输入http://localhost/54powerman,地址栏没有变化,但是网页中显示了如下内容:Hello,54powerman.This is your blog.7. 测试分析:http://localhost/54powerman这个url并不存在真实的文件,但是从用户看来好像存在真实的文件一样。8. 试用后的思考:8.1 如果RewriteRule ^(/soft_)([a-z0-9/-/_]+)(.html)$ /down.asp?softid=$2 [I,O],结果如何?提示:输入http://localhost/soft_159746.html,结果为/down.asp?softid=159746的内容,这正好是一些下载站的方式。8.2 如果RewriteRule ^(/)([a-z0-9/-/_]+)(/)([a-z0-9/-/_/.]+)$ /soft.asp?id1=$2&id2=$4 [I,O],结果如何?提示:输入http://localhost/54powerman/photo.html,结果为id1=54powerman;id2=photo.html,这样可以让54powerman看起来像是一个虚拟目录8.3 再复杂一些,如果RewriteRule ^(/)([a-z0-9/-/_/.//]+)$ /soft.asp?id=$2 [I,O]呢?提示:http://localhost/54powerman/myFolder/photos/list.asp,那么soft.asp中就会获得到id1=54powerman/myFolder/photos/list.asp,在soft.asp中来拆分各个参数,是不是就可以模拟更复杂的虚拟目录结构呢。如下的soft.asp:query = Request("id")Response.Write "原始字符串:  " & query &"<p>拆分后的字符串:<p>"params = Split(query,"/")For i=0 To UBound(params) Response.Write 1+i & "级目录  " & params(i) &"<p>"Next显示如下:原始字符串:  54powerman/myFolder/photos/list.asp拆分后的字符串:

    1级目录  54powerman

    2级目录  myFolder

    3级目录  photos

    4级目录  list.asp

    9. 更多配置技巧,请参照C:/Program Files/Helicon/ISAPI_Rewrite/ISAPI_Rewrite.dll/documentation.htm 


    最新回复(0)