我一直在使用以下模式为我的主站点和子域设置目录结构:
一个。每个站点都在自己的子文件夹中,包括主站点,以便我有类似
的内容\wwwroot
\main
\subdomain1
B中。 wwwroot中只有一个文件。带有以下
的web.config文件<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<rewrite>
<rules>
<rule name="Rewrite to folder1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.MyMainDomain.com$" />
</conditions>
<action type="Rewrite" url="main/{R:1}" />
</rule>
<rule name="subdomain1.MyMainDomain.com to sub folder" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^subdomain1\.MyMainDomain\.com$" ignoreCase="false" />
<add input="{PATH_INFO}" pattern="^/subdomain1($|/)" negate="true" />
</conditions>
<action type="Rewrite" url="\subdomain1\{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
如何将https重定向仅添加到子域?
调试正在重写/重定向的内容的最佳方法是什么?
答案 0 :(得分:1)
我不确定调试重写/重定向流量的最佳方法是什么。
在您的情况下,您应该检查它是否是http请求:
<add input="{HTTP}" negate="true" pattern="^ON$" />
或检查是否缺少https请求:
<add input="{HTTPS}" negate="true" pattern="^OFF$" />
另外,尝试将type =“rewrite”的行从重写更改为永久重定向,这样浏览器就会获得正确的301响应代码。
<action type="Redirect" url="https://{HTTP_HOST}/" redirectType="Permanent" />