【发布时间】:2013-06-02 16:43:31
【问题描述】:
目前,我们正在尝试在我们的 web.config 中设置从 htttp 到 https 的重定向,仅限于我们使用的域。但它不起作用。
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="^(?:http(?:s)?:\/\/)?(?:[^\\.]+\.)?mysite\.com(\/.*)?$" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
此规则在正则表达式编辑器中运行良好。但不在网络服务器上。 http://rubular.com/r/3NQTozcigZ
^(?:http(?:s)?:\/\/)?(?:[^\\.]+\.)?mysite\.com(\/.*)?$
查看 failedreqlogfiles pattern_match 是错误的。有什么见解吗?
在进行了更多测试后,我发现这是可行的。
http://sub.site.com/
但这行不通。
http://sub.site.com/Account/Logon
【问题讨论】:
-
似乎没问题,是否尝试从 IIS url 重写模块编辑规则?没事吧?
-
我认为这是 mod rewrite 的特殊之处。 (。*) 工作正常。但其他正则表达式不起作用
标签: asp.net-mvc iis-7 url-rewriting