使用 IIS 7 与 URL Rewrite Module 2.0 重写 Outbound URL

  • Jonathan Allen
  • 张龙

2009 年 7 月 21 日

话题:.NET语言 & 开发

引入 URL Rewrite Module 的最初目的是将用户友好的 URL 映射到 ASP.NET 或 PHP 页面上,而 URL Rewrite Module 2.0 则对另一方面进行了加强。现在我们可以在响应到达用户浏览器前对应用自动生成的 URL 进行重写了。

Outbound 规则由如下几部分构成:

  • 预处理用于排除那些无需重写的响应,这通常都是一些二进制数据,如 PDF、图像、视频以及 JavaScript 框架。
  • 我们可以通过 Tag Filter 过滤特定类型的标记,如 anchor(a)或 image(img)。
  • 模式可以基于通配符,也可以基于正则表达式。正则表达式引擎兼容于 Perl 及 ECMAScript 标准,然而由于不清楚所使用的具体引擎,这很有可能造成某些规则与期望的不符。通配符虽然简单,但只能与 Tag Filter 搭配使用。
  • 基于模式匹配的条件检查可以对规则进行进一步的限定。
  • 实际的重写(我们叫“rule action”)可以基于模式匹配与服务器端变量二者的合力。

借助于该模块,我们还可以对服务器端变量和请求头进行重写,可以对规则应用模式匹配与条件检查。

为了支持调试,我们可以通过编辑注册表来记录重写后的 URL。

请阅读URL Rewrite Module 2.0 Configuration Reference来了解更多信息。

查看英文原文:Rewrite Outbound URLs with IIS 7 and URL Rewrite Module 2.0

.NET语言 & 开发