https的IIS URL重写规则并包含路径

And*_*w S 2 iis url-rewrite-module

我试图找出一个URL重写规则,以仅在访问特定路径(如下所示)时将http请求重写为https。我已经尝试了很多事情,在测试模式中似乎它们应该可以工作,但是从不行。

访问的网址:http : //example.com/books/test.css

我需要检查http://和/ books /以便在下面形成正确的网址。

所需网址:https//example.com/books/test.css

应该忽略http://example.com/book/test.css的请求。

Cyr*_*and 5

您可以在<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>
Run Code Online (Sandbox Code Playgroud)

或添加新的 <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>
Run Code Online (Sandbox Code Playgroud)