0

下面是我的 web.config 文件。我希望将 http url 自动重定向到 https。我尝试了以下操作,但它不起作用。IIS7 with SSL required 在 SSL 设置中选中。任何人都可以帮忙吗?谢谢

<configuration>
<configSections>
    <sectionGroup name="system.webServer">
        <sectionGroup name="rewrite">
            <section name="rewriteMaps" overrideModeDefault="Allow" />
            <section name="rules" overrideModeDefault="Allow" />
        </sectionGroup>
    </sectionGroup>
</configSections>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
                <match url="^(.*)$" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
            </rule>
        </rules>
    </rewrite>
    <defaultDocument>
        <files>
            <add value="index.asp" />
        </files>
    </defaultDocument>       
</system.webServer>
<system.web>
    <customErrors mode="Off" />     
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
</system.web>

4

1 回答 1

1

取消选中“需要 SSL”——要使重定向生效,您必须首先接受 HTTP 上的初始请求。

编辑

第二点。您正在选择基于 HTTPS 的输入。你需要否定这样的条件:

<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTPS}" pattern="off" negate="true" />
</conditions>
于 2012-04-23T06:58:14.453 回答