如何确定在IIS 7.5上触发哪个重写规则?

对于给定的服务器,我有一套重写规则(非正式的,我会说在40-50左右)。 这基本上是处理和重新路由损坏的URL,以便坏链接仍然去他们应该去的地方。

我遇到了一个URLredirect,我不知道它正在应用哪个重写规则。

我的背景是Apache,在这种情况下,我只需启用一个重写日志,并查看logging的输出来找出发生了什么。 有没有在IIS中做到这一点的等效方法?

奖金回合

任何方式可以查看和编辑文本文件中的重写规则而不是GUI界面?

主要答案:

您可以使用“失败请求跟踪”function来跟踪IIS 7.x中的所有请求(甚至是重写的)。 这里有一篇来自learn.iis.net的可爱文章 。

奖金轮权重:

根据重写规则的范围(configuration方式),规则存储在:

  • applicationHost.config – section:configuration / system.webServer / rewrite / globalRules
  • web.config – section:configuration / system.webServer / rewrite / rules

所有的IISconfiguration文件基本上都是XML文件,所以启动你最喜欢的XML编辑器并编辑。 请注意,IIS 7.x(特别是启动并validationconfiguration更改的WAS服务)对格式错误的XML或不符合IIS架构的configuration文件非常敏感,因此请务必备份编辑它们之前的文件。

有关内置部分和属性的示例,请参阅IIS.NETconfiguration参考 ,或转到MSDN并查看文档