UrlRewrite、地址映射技术

转载 2006年05月24日 17:32:00

UrlRewrite有什么用处?

1、满足搜索引擎的要求
某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被潜在用户搜索到。用UrlRewrite技术你可以把 http://server/news.asp?id=111 变成 http://server/news/111.htm 这样他们就会被搜索引擎收录了。google虽然可以抓取动态页面,但是google对动态页面的评分一般低于静态页面。所以,对大量信息发布的网站,把网站地址改变成静态的绝对是值得的。

2、隐藏技术实现,提高网站的移植性
每个页面都挂着鲜明的.asp/.jsp这种开发语言的标记,可以一眼让人看出你的网站使用什么语言做的。而且在改变网站的语言的时候,你需要改动大量的链接。而且,一个页面修改了扩展名,他的pagerank也会随之消失,从头开始。我们可以用UrlRewrite技术隐藏我们的实现细节,这样修改移植都很方便,而且完全不损失pagerank。

3、满足美感的要求
对于追求完美主义的网站设计师,即使是网页的地址也要看起来简洁明快。形如 http://server/news.asp?channel=3&id=111 的网页地址,肯定是上不了完美主义者的法眼的,用UrlRewrite技术,你可以把他变成 http://server/news/3/111.htm 。

IIS 5.0支持UrlRewrite么?

答案很简单,不支持。但是我们可以通过安装服务器扩展让IIS支持。

目前有两种产品支持IIS 5.0的UrlRewrite,isapi_rewrite 和 IIS Rewrite。

isapi_rewrite: http://www.helicontech.com/download/#isapi_rewrite
IIS Rewrite :http://www.qwerksoft.com/products/iisrewrite/download.asp

这里只有ISAPI Rewrite的一个LITE版本是免费的,其它都是trial版本。ISAPI Rewrite Lite的版本功能。


我们采用isapi_rewrite Lite Version(免费版本)。


引用:
This is simplified edition of ISAPI_Rewrite. It does not support per-virtual-site configurations, proxiing, metabase monitoring and automatic cache cleanup but all other features are supported.


所以,lite版本不支持虚拟站点配置,元数据监测和自动缓存清理。


metabase元数据:metabase 元数据库 指一个驻留内存的数据存储区域,其中存放着IIS的配置值。/Metabase是储存成System32/Inetsrv
资料夹中的Metabase.bin文件

 

如何进行UrlRewrite的设置?

isapi_rewrite利用正则表达式进行替换规则的表示。

下面是一个简单的例子,我想让我们的用户输入 http://server/test-12314.html 实际上访问的是 http://server/test.asp?id=12314 。那么我们的匹配表达式应该是 /test-([0-9]*).html 对应的格式化表达式应该为 /test.asp/?id=$1 。

进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。如下图:


做好了匹配表达式和格式化表达式,我们可以按照下面的格式,把它们放到安装目录下的httpd.ini里面。

格式:RewriteRule 匹配表达式 格式化表达式
刚才的例子:RewriteRule /test-([0-9]*).html /test.asp/?id=$1

文件保存后,不需重新启动iis即可生效。

参考资料:

面向Google(Search Engine Friendly)的URL设计
http://www.chedong.com/tech/google_url.html

ISAPI REWRITE文档
http://www.isapirewrite.com/docs/

操作实例:

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,然后确定.


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

 

  CODE: [Copy to clipboard]  
<%=request.querystring("inso")%>
 


,

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


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

 

  CODE: [Copy to clipboard]  
RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp/?inso=$1
 


,保存.

mmap映射文件至内存( 实现 共享内存 与 文件的另类访问 )

Linux下mmap函数的介绍 (2013-5-20 14:46) 标签:mmap函数, Linux     mmap函数是unix/linux下的系统调用,mmap系统调用并不是完全为了用...
  • u011170660
  • u011170660
  • 2014年08月01日 18:25
  • 2140

DirectX学习笔记(七):Direct3D纹理映射技术详解及实现

前言:  如果我们想要将一个正方体绘制成一个板条箱的样式,那么我们就需要D3D中的纹理映射技术。纹理是一个像素矩阵,它可以被映射到三角形单元,以此来该变物体的显示样式。这样就可以增加所绘制场景的真实感...
  • lishuzhai
  • lishuzhai
  • 2016年09月17日 15:52
  • 3463

高速缓存与主存的三种映射方式

1、全相联映射方式 全相联映射是指主存中任意一个块都可以映射到cache中任意一个块的方式,也就是说,当主存中的某一块需调入cache时,可根据当时cache的块占用或分配情况,选择一个块给主存块存...
  • hs794502825
  • hs794502825
  • 2014年07月18日 21:52
  • 6650

wince存储与地址映射技术

wince存储与地址映射技术       Windows CE采用了四层内存管理结构,从下到上依次为:物理内存,虚拟内存,逻辑内存和C/C++运行时库.其中物理内存包括:RAM(为OS和程序提供运行...
  • so927
  • so927
  • 2013年07月23日 18:53
  • 489

C#调用C++动态库实例程序,地址映射传参,

  • 2018年01月02日 13:06
  • 9.76MB
  • 下载

基于NandFlash设备的区域地址映射方法_杨琼

  • 2017年10月25日 21:57
  • 302KB
  • 下载

Nginx负载均衡与地址映射配置的完整配置

  • 2017年04月28日 17:45
  • 1.11MB
  • 下载

在Cisco路由器上配置静态ARP地址映射

  • 2011年06月28日 12:05
  • 504B
  • 下载

厂商MAC地址映射表

  • 2018年01月13日 21:33
  • 626KB
  • 下载

wince下的地址映射知识点滴

  • 2008年04月04日 19:35
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UrlRewrite、地址映射技术
举报原因:
原因补充:

(最多只允许输入30个字)