我正试图通过
强制任何用户使用我的网站通过
路由自动。
我已将以下标记添加到我的web.config:
<rewrite>
<rules>
http:// to https:// rule
<rule name="ForceHttpsBilling" stopProcessing="true">
<match url="(.*)billing/(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
</rules>
</rewrite>
我在type =“redirect”行上收到一条消息说:
需要模块资格
我猜这意味着我需要引用一个程序集,或者“重写”节点需要在另一个父节点下,但无法弄明白/从Google获得答案。
该项目是ASP.Net,使用.Net 4.0
在IIS7中托管答案 0 :(得分:1)
试试这个:
<system.webServer>
<rewrite>
<rules>
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
修改:刚看到您想要重定向所有请求,因此我删除了对“结算”的引用......
如果您想直接在IIS中执行此操作,则需要安装URL Rewrite Module