【问题标题】:Web.config redirect from http to https for some sub-site某些子站点的 Web.config 从 http 重定向到 https
【发布时间】:2016-05-01 17:55:42
【问题描述】:

所以我一直在谷歌搜索和浏览关于 SO 的类似主题一段时间,但没有找到解决方案,我想我可能只是问一下。

我有一个包含多个子站点/页面的主站点。 在我的主站点(影响所有子站点/页面)的 Web.config 文件中,我有以下规则:

<rule name="Redirect to https">
  <match url="(.*)"/>
  <conditions>
    <add input="{HTTPS}" pattern="Off"/>
    <add input="{REQUEST_METHOD}" pattern="^get$|^head$"/>
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
</rule>

此规则将所有请求重定向到主站点下的任何页面/站点到 https:// 这已经有一段时间了。

但是,现在我有 4 个子站点(主站点下的 4 个页面具有自己的 URL),我不想使用 https://。我们称他们为 www.apa.com、www.bepa.com、www.cepa.com、www.depa.com。我在this similar topic 上阅读了一些评论,说可以在这样的规则中进行排除,但我没有让它起作用。

所以我想我正在寻找一个单独的规则或对该当前规则的某些排除,它为我的四个新子站点保留 http 并将所有其他站点/页面重定向到 https(目前是这样)。

编辑: 所以我采取了不同的方法。现在我想说明哪些网站应该重定向到 https。以下正则表达式似乎在正则表达式测试器中完美运行,但在 web.config 文件中应用时,没有任何反应:

^(https?:\/\/)?(something\.somethingelse\.com\/?)(.*)$

如果这个正则表达式匹配,我想将所有请求重定向到 https,如果它不匹配,它应该保持 http。在 web.config 文件中是这样的:

<rewrite>
  <rules>
    <rule name="Redirect to https">
      <match url="/^(https?:\/\/)?(something\.somethingelse\.com\/?)(.*)$/"/>
      <conditions>
        <add input="{HTTPS}" pattern="Off"/>
        <add input="{REQUEST_METHOD}" pattern="^get$|^head$"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
    </rule>
  </rules>
</rewrite>

但是这似乎没有做任何事情。好像无法匹配完整的 URL 或其他内容。

【问题讨论】:

    标签: asp.net .net redirect web-config


    【解决方案1】:

    我想出了一个解决方案:

    <rule name="Redirect to https">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="Off"/>
        <add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
        <add input="{HTTP_HOST}" pattern="(.*SomeWordFromMyUrl*)"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
    </rule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-19
      • 2011-01-30
      • 2013-04-10
      • 2017-05-30
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多