1

我的 web.config 文件中有以下规则。如您所见,它需要所有子域并重定向到“www”。

我还有一个 HTTP 模块,可以在 OnPreRequestHandlerExecute 事件上在 HTTP 和 HTTPS 之间切换。根据我的阅读和理解,这发生在重写之后,但我可能是错的。

此代码实际上在 Firefox 中工作,转移到 www. 然后在必要时使用 HTTPS,但它在 Chrome 或 IE 中都不起作用,维护 HTTP 方案。

我想对下面的代码进行一些更改,以便继续使用该方案,而不是仅仅假设目前的 HTTP。

<rewrite xdt:Transform="Insert">
  <rules>
    <rule name="Redirect to www">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
4

0 回答 0