减少网站的重定向 - web.config

时间:2017-12-04 19:04:22

标签: redirect

我需要有关我网站上(重定向)重定向的帮助。目前我有3个工作重定向,

一个从WWW到非www版本。 另一种是从非SSL到https 最后,我删除了Server标头以提高安全性。

他们工作,但我认为他们正在减慢我的网站速度。有什么办法可以将重定向减少到2吗?我在寻找https://website.com

这是我的web.config:

    <configuration>
   <system.webServer>   
      <staticContent>
            <clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
      </staticContent>
      <rewrite>        
            <rules>
                <clear />
                <rule name="Redirect to https" stopProcessing="true">
                    <match url=".*" />
                      <conditions>
                         <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                      </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
                </rule>

                <rule name="Redirect to non-www" stopProcessing="true">
                  <match url="(.*)" negate="false"></match>
                  <action type="Redirect" url="http://website.com/{R:1}"></action>
                  <conditions>
                      <add input="{HTTP_HOST}" pattern="^website\.com$" negate="true"></add>
                  </conditions>
                </rule>

            </rules>
        </rewrite>
         <rewrite>    
        <outboundRules rewriteBeforeCache="true">
          <rule name="Remove Server header">
            <match serverVariable="RESPONSE_Server" pattern=".+" />
            <action type="Rewrite" value="" />
          </rule>
        </outboundRules>

</rewrite>        
   </system.webServer>   
</configuration>

我想出了类似的东西,但似乎让它变得更糟:

<rules>
<clear />
    <rule name="Redirect www and non-https to https://">
                  <match url=".*" />
                    <conditions logicalGrouping="MatchAny">                        
                         <add input="{HTTP_HOST}" pattern="^website\.com$" negate="true"></add>
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
     </rule>
</rules>

1 个答案:

答案 0 :(得分:0)

这是我的答案,我希望它可以帮助有人用他们的SEO。 我从以下的高点重定向:

  • 3重定向使用www,
  • 1重定向无www,
  • 2重定向到www(https)
  • 0重定向无www(https)

最多为1:

  • 1重定向www,
  • 1重定向无www,
  • 1重定向为www(https)
  • 0重定向无www(https)

我只需要在一行中添加 s 并删除 {HTTP_HOST} ,然后输入网站名称。

<rewrite>    
       <rules>   
            <clear />             
                <rule name="Redirect to https" stopProcessing="true">
                    <match url=".*" />
                      <conditions>
                          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                      </conditions>
                    <action type="Redirect" url="https://website.com{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
                </rule>

                <rule name="Redirect to non-www" stopProcessing="true">
                  <match url="(.*)" negate="false" />                  
                  <conditions>
                      <add input="{HTTP_HOST}" pattern="^website\.com$" negate="true" />
                  </conditions>
                  <action type="Redirect" url="https://website.com/{R:1}" />
                </rule>

        </rules>
</rewrite>