Tc711Com提示:ISAPI_Rewrite让动态网页静态化 ,此教程是从网上花了很多心血获得的, 分享给大家. |
1. 先下载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
更多的ISAPI_Rewrite让动态网页静态化请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2012-7-25