asp伪静态化 iis ISAPI_Rewrite |
|
![]() |
发起人:xiang6963 回复数:0 浏览数:5782 最后更新:2009/9/4 17:54:37 by xiang6963 |
选择查看 | 搜索更多相关主题 帖子排序: |
xiang6963 发表于 2009/9/4 17:54:37
|
||||||||||
asp伪静态化 iis ISAPI_Rewrite 用ISAPI_Rewrite实现asp的静态化 ASP网站程序在国内运用很广,但是类似于 im286.asp?id=20050307213811这样的URL有点不利于搜索引擎的收录,也就是说不符合友好URL(URLs- Friendly)的标准,那么我们用ISAPI_Rewrite打造一个Clean URL, 1.下载ISAPI_Rewrite.ISAPI_Rewrite 分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.精简版 下载地址:http://www.helicontech.com/download/,就是那Lite Version (free)啦. 2.安装.msi的文件,和装一般程序一样装就可以了,俺就装在D:\ISAPI_Rewrite. 3.接下来一步比较重要哦,看仔细喽.打开Internet 信息服务,右键,web站点属性,电ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定. 4.来测试一下.新建一个1ting.asp,里面写上
,效果就是执行的时候1ting.asp?inso=*浏览器显示*. 5.这一步很重要哦,开始添加rewrite规则.正则,好头痛,幸亏这个例子比较简单.
,保存. 6.来来来,到浏览器里查看一下效果吧.输入http://127.0.0.1/1ting.asp?inso=im286和http://127.0.0.1/1ting-im286.html,显示的内容是不是都是im286?这就证明成功啦! 嘿嘿,1ting-im286.html这样的页面要比1ting.asp?inso=im286容易收入,所以现在还在用动态方式的朋友可以尝试一下这样的静态映射效果. IIS Rewrite也可以实现这样的功能。 ------------------------------------------------------ ASP之URL重写 下载ISAPI_Rewrite解压到任意文件夹安装,给IIS用户读取权限,在IIS右键点击一个站点,属性,ISAPI筛选器,添加,筛选器名称一定得叫 re,可执行文件就点浏览找到你解压的目录Rewrite.dll加上即可。 重启IIS后应该就能支持URL重写规则了。 需要修改解压目录中的httpd.ini这个文件 RewriteRule /info_(\d+)\.htm /info\.asp\?id=$1 [N,I] 这句话就可以把提交的地址http://www.xxx.com/info_122.htm映射到真正的地址 http://www.xxx.com/info.asp?id=122 如果你在处理数据翻页,那么写法是: More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型) 如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是: 不过你需要在httpd.ini文件中增加以下代码: 如果你的动态程序有多个参数需要传递,那么就增加多个(\d+)即可,如下: RewriteRule /More_(\d+)_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&type=$2&type2=$3 [N,I] 翻页处理表现形式是:More_1_95.html 如果想把http://www.xxx.com/info.asp?id=50#abc 转换成静态的网页 注意:以前在Window 2000 IIS5.0一直使用ISAPI_Rewrite进行动态链接重写HTML静态网址, |
返回页首↑ |