我确实通过以下配置将用户从 Http
重定向到 Https
<rewrite>
<rules>
<rule name="HTTP_TO_HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)"/>
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false"/>
</rule>
</rules>
</rewrite>
它按预期工作。 但是这里有一个问题,它只重定向到Https
而不是异常(exception)源。我的意思是
http://www.example.com
到 https://www.example.com
http://example.com
到 https://example.com
上述情况导致,用户具有不同的来源,导致跨域资源共享(CORS)策略
问题。
我想将所有用户重定向到 https://example.com
以避免来源冲突。
最佳答案
您也可以使用重写模块来删除 WWW 部分
<rule name="Remove www" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www" />
</conditions>
<action type="Redirect" url="http://example.com/{R:0}" redirectType="Permanent" />
</rule>
关于ASP.NET - 如何通过 Web.config 从 HTTP 重定向到 HTTPS 和特定来源 [CORS 策略问题],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59530388/