用ISAPI_Rewrite实现asp伪静态

| |
[不指定 2009/08/28 20:32 | by tommyhu ]

2010年1月16日更新,与本文相关日志:
1、正则表达式学习资料.rar打包下载
2、[IT sources(网络资源)] 正则表达式
3、[PHP code(代码片段)] 正则表达式学习-全部符号解释
4、[SERVER technology(服务器)] seo伪静态ISAPI Rewrite与正则表达式


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.

Highslide JS

3.接下来一步比较重要哦,看仔细喽.打开Internet 信息服务,右键,web站点属性,电ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定.

Highslide JS

4.来测试一下.新建一个1ting.asp,里面写上

<%=request.querystring("inso")%>


,效果就是执行的时候1ting.asp?inso=*浏览器显示*.

Highslide JS

5.这一步很重要哦,开始添加rewrite规则.正则,好头痛,幸亏这个例子比较简单.
找到ISAPI_Rewrite目录,把httpd.ini的只读属性去掉,打开编辑.我们要把1ting.asp?inso=im286映射成为1ting-im286.html这样的类型,需要在httpd.ini里加上这么一行:


RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp\?inso=$1


保存.

.来来来,到浏览器里查看一下效果吧.输入http://127.0.0.1/1ting.asp?inso=im286http://127.0.0.1/1ting-im286.html,显示的内容是不是都是im286?这就证明成功啦!

嘿嘿,1ting-im286.html这样的页面要比1ting.asp?inso=im286容易收入,所以现在还在用动态方式的朋友可以尝试一下这样的静态映射效果. IIS Rewrite也可以实现这样的功能。
Highslide JS
Highslide JS

网站里面的链接需要自己手工改成静态地址格式

ISAPI_ReWrite 无法支持汉字传递,使用server.URLEncode()编码一下就可以了,变成%f1%f3 这样

[\u4e00-\u9fa5] 在ISAPI_ReWrite无效

正则表达式参考:http://www.zhouhaihe.com/blog/article.asp?id=78

飞鸟插件(生成真静态): http://www.zhouhaihe.com/asp-to-htm/
ASP | 评论(1) | 引用(0) | 阅读(4180)
tommyhu.cn网友
2009/08/29 22:55
windows主机可以用这个为wordpress静态。
tommyhu 回复于 2009/08/30 12:10
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemotemotemotemotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码 网址   电邮  [注册]