添加HTTPS重定向到现有的规则重写子域到一个文件夹

问题描述:

我一直在使用下面的模式来设置目录结构为我的主网​​站和子域:添加HTTPS重定向到现有的规则重写子域到一个文件夹

答:每个网站在其自己的子文件夹,包括主站点让我有类似

\wwwroot 
    \main 
    \subdomain1 

B.在wwwroot中只有1个文件。具有以下

<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重定向到只有一个子域的web.config文件?

调试什么是重写/重定向的最佳方式是什么?

+0

你有没有得到这个工作。我有同样的问题,不知道如何处理它。唯一的区别是我没有“主要”,但只需将example.com/subdomain1重定向到https://subdomain1.example.com/subdomain1 – NoBullMan

我不知道什么是调试重写/重定向流量的最佳方式。

在你的情况,你应该检查,如果它是一个HTTP请求:

<add input="{HTTP}" negate="true" pattern="^ON$" /> 

或检查缺乏HTTPS请求:

<add input="{HTTPS}" negate="true" pattern="^OFF$" /> 

此外,尝试改变与型线=“rewrite”从重写到永久重定向,这样浏览器就可以获得正确的301响应代码。

<action type="Redirect" url="https://{HTTP_HOST}/" redirectType="Permanent" />