web.config通过https

时间:2016-11-16 05:32:19

标签: redirect https web-config plesk no-www

所以目前我的主域名工作正常,如果我访问www.domain.com它会重定向到https://domain.com

我的子域名就是问题所在。我也有* .domain.com

的通配符SSL

如果我访问www.sub.domain.com,它会重定向到https://www.sub.domain.com,其中包含无效的SSL证书,我试图将其加载到FROM:www.sub.domain.com到{{但是我遇到了一些问题。 Godaddy没有帮助,因为看起来他们中的大多数都是“新的”。不幸的是,主持Plesk。目前我的web.config所用的是:

<configuration>
<system.webServer>
<rewrite>
    <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions> 
    <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
</rule>   
    </rules>
</rewrite>
</system.webServer>
</configuration>

3 个答案:

答案 0 :(得分:0)

检查托管设置的域名,例如“首选域名”和301重定向到HTTPS:

plesk https redirect

如果您没有301重定向到HTTPS,则可以删除此web.config。

答案 1 :(得分:0)

当您为第一级安装证书时,通配符SSL证书无法在二级子域上运行(,例如:level3.level2.level1.domain.com)。

enter image description here

您不能在子域之前使用WWW。我建议你在同一个问题上提到我以前的答案。

https://stackoverflow.com/a/37959152/4649681

希望这会有所帮助。

答案 2 :(得分:0)

<rewrite>
   <rules>
       <clear />
       <rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
         <match url="(.*)" />
         <conditions logicalGrouping="MatchAny">
           <add input="{HTTP_HOST}" pattern="^yourwebsite\.com$" negate="true"></add>
           <add input="{HTTPS}" pattern="off" />
         </conditions>
         <action type="Redirect" url="https://yourwebsite.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
       </rule>
     </rules>
     <rewriteMaps>
       <rewriteMap name="MapProtocol">
         <add key="on" value="https" />
         <add key="off" value="http" />
       </rewriteMap>
     </rewriteMaps>
   </rewrite>