我正在尝试找出一个url重写规则,只有在访问特定路径时才能将http请求重写为https。我已经尝试了很多在测试模式中似乎应该工作的东西,但它从来没有。
访问的网址:http://example.com/books/test.css
我需要检查http://和/ books /以形成下面的正确网址。
答案 0 :(得分:4)
您可以在<match>
元素中指定模式:
<rule name="Force HTTPS for /books/" enabled="true">
<match url="^/books/.*$" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" redirectType="Permanent"
url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="true" />
</rule>
或添加新的<condition>
<rule name="Force HTTPS for /books/" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
<add input="{REQUEST_URI}" pattern="^/books/.*$" />
</conditions>
<action type="Redirect" redirectType="Permanent"
url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="true" />
</rule>