我在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地址。
答案 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/
中进行详细介绍