IIS网站哪里可以url重写?

Where all could url rewriting occur for IIS website?

我们使用重写模块,但出于测试目的,我删除了所有重写规则,因此现在 web.config 中的规则为零。

当使用 https 协议从一个文件夹请求图像文件时,它会将其永久重定向到 http。但是,当我使用 https 协议从其他文件夹请求图像文件时,它可以像 https 一样正常使用。

我原以为一定是重写规则导致了这种情况,但由于我删除了所有重写规则,所以情况似乎并非如此。还有什么建议可以看吗?

编辑:我禁用了我们所有的重写规则并且它开始正常工作,所以我虽然 "Great! It must be one of these rewrite rules!"。但是不......我发现如果我有一个重写规则启用了行为 returns 而不管重写规则永远不会匹配我要匹配的 url 的事实。很奇怪。

EDIT2:我发现这个问题只适用于根网站。当我访问虚拟应用程序中的资源时,没有问题。我们的大部分网站都在虚拟应用程序中,但一些资源在根网站中。我发现这个问题不仅适用于图像,还适用于根 Web 中的 any 资源,包括 aspx 页面。

所以我没有考虑到一个可能发生重写的地方是在一个 httpModule 中,这恰好是我的情况。我扫过 web.config 中的 httpModules 部分有点太快了,一开始没看到它,但它是一个名为 SecuritySwitch 的模块。