2016-04-07 35 views
1

我有一个在Azure上的Joomla网站。我已经正确设置了.com,并且我明白为什么* azurewebsites.net网址仍然有效。重定向* azurewebsites.net到COM但不是CDN

我想将所有流量从* 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重定向消失,所以问题真的在这里。

<rule name="Disable Azure Domain" patternSyntax="Wildcard" stopProcessing="true"> 
    <match url="*" /> 
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
    <add input="{HTTP_HOST}" pattern="*.azurewebsites.net" /> 
    </conditions> 
    <action type="Redirect" url="http://www.example.com{REQUEST_URI}" redirectType="Permanent" /> 
</rule> 
+0

你能分享你的网站和CDN的网址?我怀疑你已经设置了它的输入条件适用于这两个网站 –

回答

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应用程序在这里建立重定向规则的详情:http://zainrizvi.io/2016/04/07/block-default-azure-websites-domain/

据透露,下面是完整的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> 

注意:当您正在测试您的浏览器可能会缓存重定向修复,所以你可能想尝试小提琴手或新的浏览器/ PC来验证工作的事情如预期

+0

不幸的是,这没有奏效。我添加了pattern =“yoursite.azurewebsites.net”的行,并重新启动了我的网站。 CDN重定向回来了。这是我得到GTMetrix /的PageSpeed(其中几个的):'删除下列重定向链如果可能的话: http://myendpoint.azureedge.net/images/dark_bg.jpg HTTP:// WWW。 example.com/images/dark_bg.jpg' –

+0

@PLapointe我刚刚更新了我的答案,为我的网站提供了一个更详细的示例。试试看,看看它是否适合你 –

相关问题