加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在IIS 7.5上运行的ASP.NET应用程序上强制Https

发布时间:2020-12-16 04:29:22 所属栏目:asp.Net 来源:网络整理
导读:我在我的web.config文件中使用以下代码在我的整个站点上强制使用SSL; system.webServer rewrite rules rule name="Redirect HTTP to HTTPS" stopProcessing="true" match url="(.*)"/ conditions add input="{HTTPS}" pattern="^OFF$"/ /conditions action t
我在我的web.config文件中使用以下代码在我的整个站点上强制使用SSL;
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
                <match url="(.*)"/>
                <conditions>
                    <add input="{HTTPS}" pattern="^OFF$"/>
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
            </rule>
        </rules>
    </rewrite>
</system.webServer>

但我想做的是强制ssl只有?/ purchase /和?/ account / path并在它们下面.该匹配网址应该是什么?

注意正则表达式在这里也适用于我和通配符.

解决方法

您应该使用此模式(这将适用于/ purchase / something以及/ account / something-else):
^((purchase|account)/.*)$

你必须记住,该URL应该没有前导斜杠/.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Force HTTPS" stopProcessing="true">
                    <match url="^((purchase|account)/.*)$" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读