我的IIS 7.5
中有2个虚拟目录。这些需要像子域一样被访问。
实施例。
我的域名:mydomain.com
目录1:dir1.mydomain1.com
目录2:dir2.mydomain1.com
当用户尝试使用https
时,我还需要强制http
方案。我在第一个应用程序的web.config
文件中添加了规则:
<rewrite>
<rules>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
当所需的网址为http://mydomain1.com/dir1
时,它可以正常运行。网址更改为https://mydomain1.com/dir1
请帮助我了解子域规则。
答案 0 :(得分:0)
此规则适用于从子域重定向。但是,'www'将被视为子域,因此您应该在子域重定向之前处理该子域。
<rule name="Redirect www to nonwww" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="www.mydomain.com" />
</conditions>
<action type="Redirect" url="https://mydomain.com/{R:0}" />
</rule>
<rule name="RedirectSubdomain" stopProcessing="true">
<match url="(.*)" />
<conditions trackAllCaptures="true">
<add input="{HTTP_HOST}" pattern="(.*).mydomain.com" />
</conditions>
<action type="Redirect" url="https://mydomain.com/{C:1}" />
</rule>
根据这两条规则,您的强制https规则可以持续使用。