IIS 8.5 URL重写只是不会工作:规则没有任何影响

我正在尝试使用Rewrite模块来设置http to https重写在IIS 8.5中。 绝对没有我尝试过任何影响。 该URL的格式为: http : //users-dev.somedomain.com 。 当前在web.config中创build的规则是:

<rewrite> <rules> <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> 

自那以后,我尝试了许多变化。 早些时候修改URL重写,我可以看到各种规则的生效,但现在看来,我什么都没有任何影响…我怀疑是IIS的东西了。 我也试过IIS重启,无济于事…

有任何想法吗?

事实certificate,在网站的SSL设置“需要SSL”checkbox被选中。 如果这是检查客户端无法通过端口80,重写从来没有发生…

如果您使用的是重写模块,则无法选中“要求SSL”,因为初始请求需要能够通过端口80。

那么,我想我碰到了IIS 8.5上的MrLane。

我花了一天的时间才发现我没有在80端口上运行网站。

我只是添加这个绑定(端口80)和规则工作如期。

希望这可以帮助解决MrLane的案件。

这适用于我:

 <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" /> </rule>