米葫芦网

ISAPI Rewrite 介绍及相关应用

热度:2℃ 发布时间:2023-11-16 20:07:24

什么是URL重写(URL Rewrite)?

URL 重写就是把传入 Web 请重定向到其他 URL 的过程。
比如浏览器发来请求http://www.mihulu.com/?viewnews-13395.html ,服务器自动将这个请求中定向为 http://www.mihulu.com/viewnews-13395.html 关于URL重写的相关内容我们将在以后的文章中详细介绍。

我们知道在Apache中有mod_rewrite来实现URL的重写功能(URL Rewrite),然而IIS并没有自带这个功能,因此我们就需要使用第三方组件来实现。其实目前有好几种IIS下的Rewirte组件,都是通过ISAPI筛选器来加载然后实现URL重写的。

用得比较广泛的一个是ISAPI Rewrite,基本上国内支持Rewirte功能的Windows网站空间都采用了该组件。ISAPI Rewrite组件有免费版以及商业版,免费版只支持全局httpd.ini配置(不能对每个站点进行单独设置,除非通过加载不同的dll来实现,比较麻烦。)而商业版支持用户自定义httpd.ini文件,只要放在站点根目录下就能生效。这个大大方便了用户自己修改URL重写规则。

ISAPI Rewrite是一个基于正则表达式的强大的URL处理引擎,他使用起来基本上就像Apache的mod_rewrite,但是他是专门为微软的Internet Information Server (IIS)设计的。
ISAPI Rewrite是一个使用纯C/C++编写的ISAPI筛选器,所以速度是相当快的!ISAPI Rewrite使你可以自由的规划网站的URL。
ISAPI全称为Internet Server Application Program Interface。

ISAPI Rewrite 2 产品地址:http://www.isapirewrite.com/
ISAPI Rewrite 3 产品地址 :http://www.helicontech.com/isapi_rewrite/

3.0版本主要特性是支持采用Apache的 .htaccess文件来在IIS中使用 mod_rewrite。这个特性使得IIS和Apache在日常应用的Rewrite上的区别基本消除了。

国内大部分空间商都没有关注到商业版这个非常方便的功能,只为用户设置全局重写规则,这样会影响服务器性能,以及当某些规则比较复杂时,会造成冲突,给用户带来不便。

华麟创想在提供网站空间时,特别关注了这方面的功能,使用户能够自定义自己站点的URL重写规则,让用户可以更好的使用网站空间。

安装篇:
ISAPI Rewrite在安装上相当方便,如果你下载的是安装包,只需要按照提示进行安装即可。而如果你下载的是压缩包,那么只要将文件夹解压缩的任意目录,然后在IIS站点的ISAPI筛选器中添加ISAPI Rewrite的dll即可。


在站点属性中,选择ISAPI筛选器,然后添加ISAPI Rewrite组件即可。

这里要注意的是:必须给予ISAPI Rewrite所在目录IIS_WGP组的读写权限,否则你的网站就会直接Service Unavailable,应用程序池遇到错误而停止。在事件查看器中可以找到相应的错误。

如果在安装上有问题,欢迎您到华麟创想社区提问,我们会尽力为您解答。

使用篇:
安装成功以后,接下来就要看看怎么用了。我们这里只说一下最简单的应用,因为大多数人只用URL重写功能来实现SEF(搜索引擎友好),以及简单的防盗链的功能(可以参考利用 ISAPI Rewrite 实现防盗链)。如果您有兴趣了解一些深入的功能的话,可以去看一下官方的使用手册。

我们需要对ISAPI Rewrite编写URL重写的规则,将这些规则写在httpd.ini中,用户访问时,就能实现URL重写。

编写Rewrite规则需要我们对正则表达式有一定的了解,推荐大家看一下《30分钟正则表达式入门教程》。当你了解了正则表达式以后,如何编写规则请参考官方使用手册以及一些例子,相信很快就会上手。

ISAPI Rewrite 2使用手册:http://www.isapirewrite.com/docs/ISAPI_Rewrite
ISAPI Rewrite 3使用手册:http://www.helicontech.com/isapi_rewrite/doc/

当然,网上有很多别人写好的Rewrite Rules(重写规则),我们可以方便的使用,因为大部分程序所使用的URL重写规则是一样的,比如Discuz!, Wordpress等。

日后我们会整理一些常用的URL Rewrite 规则提供给大家使用,当然如果你的网站没有现成的规则,也可以通过这些规则进行简单的修改后直接使用。

当我们已经写好了httpd.ini以后,将httpd.ini放在相应的位置后就能使用了(免费版放在ISAPI Rewrite安装目录中,商业版只需要放在需要重写的站点根目录下就可以了)。

网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载