我遇到以下情况,其中 url 重写规则相互冲突:
- 规则 1:我需要将我的域重定向到 https
- 规则 2:我需要重定向 www.mydomain.com --> https://mydomain.com
- 规则 3:我需要 www.mydomain.com 和 mydomain.com 都重定向到 https://mydomain.com/myfolder,但如果我有 mydomain.com/mysecondfolder 应该只重定向到https://mydomain.com/mysecondfolder
我能够实现的只是将 www.mydomain.com 重定向到https://mydomain.com(只是因为它与另一个规则冲突,如果它单独工作的话)。
我的规则是:
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="redirect to myfolder" enabled="true">
<match url="^$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/myfolder" />
</rule>