我想我明白你在问什么,首先要发现重写。如果您事先了解 ISAPI_Rewrite,Tony 的回答是正确的,但事后看来是 20-20。我是 ISAPI_Rewrite 和 Helicon Ape 的忠实粉丝,所以我可能对此有所怀疑。但是,如果重写是由 IIS7 的 .NET web.config 完成的,我就不会在那里查看(尽管我猜 web.config 应该是任何 IIS-screwy 的起点)。使用旧版 CMS 或 WordPress 之类的东西,我不知道从哪里开始,所以我可能会像你一样从代码开始。
我想真正的起点是 IIS 的顶部,甚至在请求到达 Web 代码之前。
在 IIS7 中环顾四周,我看到 Handler Mappings,里面有一大堆东西,拦截各种请求。这些都可以在请求到达网站之前“做一些事情”。例如,我看到 Microsoft 的 ExtensionlessUrlHandler... 在升级到 .NET 4.0 时,它给我们带来了麻烦,因为它是一个重大变化。我们不得不为此挖掘,想知道是什么将 eurl.axd 放入我们的网址中。
IIS6 在网站属性上有一个 ISAPI 过滤器选项卡。我的里面有 ISAPI_Rewrite 和 ASP.NET_2.0....。还有一个带有 MIME 类型的 HTTP Headers 表,这可能是转移请求的罪魁祸首。
现在知道了这一点,也许所有重写软件的列表会很方便。只需在系统中搜索已安装的任何一个 - 可能是获得第一条线索的最快方法。
实际上,如果您在 10 年的代码中花费了一个下午,那还不错!因此,您可能没有机会快速弄清楚这一点 - 任何遗留系统都会隐藏秘密。