IIS 7.5上的URL重写问题

时间:2011-08-05 19:14:26

标签: iis url-rewriting iis-7.5

我正在尝试使用IIS 7.5的URL重写模块将所有HTTP请求重定向到我的ASP.NET网站的HTTPS。该网站目前工作正常但强制用户在地址栏中输入https://。

我按照this article中的说明操作。所有似乎都没问题:我已经尝试将规则放在web.config中,它会在UI中显示出来;我也做了相反的事情,当我使用UI添加规则时,可以看到web.config中的更改。我已为网站取消选中RequireSSL。不幸的是,当我尝试通过http://。

访问网站时,我仍然只获得了404

我尝试了一些不同的动作网址,包括{HTTP_HOST} / {R:1}和下面显示的动作网址。没有任何效果。

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

我对此很新,而且在这一点上非常沮丧。看起来这样应该会容易得多。任何建议将不胜感激,谢谢..

从ServerFault重新发布,因为它暂时没有回答。

1 个答案:

答案 0 :(得分:2)

  

HTTP错误404.找不到请求的资源

你真的对HTTP 80端口有绑定吗?听起来你没有它(只有HTTPS)。

我问的原因是引用文本是确切消息,如果我向IIS域请求未知(当没有定义catch-all)或域未绑定时,我会看到到请求的端口。