【发布时间】:2016-04-27 22:44:16
【问题描述】:
我意识到这是一个简单的问题,但我只是没有找到答案。我已经应用了以下规则...
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
我感兴趣的网址有模式
http://[domain]/[directory]/[aspx page]
所以http://example.com/funstuff/thefair.aspx
重写的结果是http://[domain]/[an_aspx_page]
所以重写是删除目录。
我假设 {R:1} 指定了一个将被重写的参数,我尝试了 https://{HTTP_HOST}/{R:1}/{R:2},但这会导致 500 错误。
我想将此域上的所有流量定向到 https,而不更改用户输入的其余 url。
【问题讨论】:
-
{R:1} 和 {R:2} (等)表示来自用于匹配 URL 的正则表达式的捕获组。您没有第二个捕获组,这就是 {R:2} 未定义的原因。 iis.net/learn/extensions/url-rewrite-module/…
标签: asp.net iis webforms web-config webserver