如何在添加自定义域后删除/禁用mywebsite.azurewebsites.net域?

时间:2015-02-16 23:27:46

标签: asp.net-mvc azure

我在Azure上创建了一个网站,并将其与自定义域名(CNET)相关联。

现在,当我在Azure面板上查看网站配置上的域名时,我会看到www.mywebsite.com和默认的mywebsite.azurewebsites.net。这两个域都运行良好,我可以使用其中任何一个访问网站。

如何删除mywebsite.azurewebsites.net域名?这两个域都会影响SEO吗?

编辑*
感谢您的回答,我正在尝试启用301重定向,但它无法正常工作。我已将此添加到web.config文件中(“example”是我的实际站点名称)

<system.webServer>
<rewrite>
  <rules>
    <rule name="SEOAzureRewrite" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^example.azurewebsites.net$" />
      </conditions>
      <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>
</system.webServer>

我运行网站但没有任何反应。我仍然可以访问mysite.azurewebsites.net地址。

3 个答案:

答案 0 :(得分:3)

让两个域都指向您的网站没有问题。

对于SEO,你必须从mywebsite.azurewebsites.net进行301重定向到www.mywebsite.com。

必须是301重定向。因为这将告诉搜索引擎始终索引www.mywebsite.com

答案 1 :(得分:0)

由于我无法在web.config中设置url重写,因此我创建了全局过滤器以检查azure url并显示错误(如果是这样)。这是过滤器,为了这个目的,我在错误页面中添加了一个新视图,只是说“页面不存在”以避免搜索引擎的索引。认为这将解决可能的重复索引问题。

    public override void OnResultExecuting(ResultExecutingContext context)
    {
        if (context.RequestContext.HttpContext.Request.Url != null)
        {
            string path = context.RequestContext.HttpContext.Request.Url.AbsoluteUri;

            if (path.ToLower().Contains("mywebsite.azurewebsites") && !path.ToLower().Contains("error/oldazuresubdomainredirect650"))
            {
                throw new HttpException(650, "Azure legacy");
            }
        }
    }

答案 2 :(得分:0)

您可以创建一个url重写规则来做到这一点

您只需要在网站的web.config文件中添加重定向规则即可。您可以通过将以下重写规则添加到wwwroot文件夹中的web.config文件中来实现。如果您没有web.config文件,则可以创建一个文件,然后将下面的文本粘贴到其中,只需更改主机名以匹配您网站的主机名即可:

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

以上是您需要执行的所有操作。如果您想更好地了解该代码的确切功能以及工作原理,请在https://zainrizvi.io/blog/block-default-azure-websites-domain/

中进行详细介绍