将* azurewebsites.net重定向到.com但不是用于CDN

时间:2016-04-07 21:24:00

标签: azure iis web-config azure-web-sites

我在Azure上有一个Joomla网站。我已经正确设置了.com,我理解为什么* azurewebsites.net网址仍在运行。

我想将所有流量从* azurewebsites.net重定向到.com。我按照本指南操作,按预期工作。 http://onthecloud.azurewebsites.net/seo-tip-how-to-block-the-.azurewebsites.net-domain

但是,我也有一个Azure CDN(mycdn.azureedge.net/)。我使用JCH Optimize来设置CDN。我看到对mycdn.azureedge.net/的调用是正确生成的。但是,不知何故,由于web.config重定向,所有流量都从CDN 返回重定向到我的.com,这违背了CDN的目的。这会产生大量的重定向调用。

有没有办法编写web.config行来排除CDN?

这是我的web.config的样子。当我删除这些行时,CDN重定向消失了,所以问题就在这里。

&&color&_i
&color1
Blue

1 个答案:

答案 0 :(得分:0)

看看你的情况。您正在过滤所有流向“* .azurewebsites.net”的流量。所有对你的cdn的调用都属于那个过滤器,这就是你看到它们被重定向的原因:

<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
  <add input="{HTTP_HOST}" pattern="*.azurewebsites.net" />
</conditions>

相反,请将调用过滤到您的网站。所以你的情况看起来更像是:

<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
  <add input="{HTTP_HOST}" pattern="yoursite.azurewebsites.net" />
</conditions>

那将让CDN的电话通过就好了。

您可以在此处找到有关为Azure Web App设置重定向规则的更多详细信息:http://zainrizvi.io/2016/04/07/block-default-azure-websites-domain/

Fyi,下面是我用于我网站的完整web.config。你不是说我设置了一些其他设置有点不同。请尝试使用该web.config文件(只需根据需要更改站点名称),看看它是否适合您。

<configuration>
  <system.webServer>  
    <rewrite>  
      <rules>  
        <rule name="Redirect to zainriziv.io" stopProcessing="true">
          <match url="(.*)" />  
          <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="^zainrizvi\.azurewebsites\.net$" />
          </conditions>
          <action type="Redirect" url="http://www.zainrizvi.io/{R:0}" />  
        </rule>  
      </rules>  
    </rewrite>  
  </system.webServer>  
</configuration>  

注意:当您测试修补程序时,您的浏览器可能已缓存重定向,因此您可能需要尝试fiddler或新的浏览器/ pc来验证工作是否按预期工作