C# 如何将www.example.com重定向到example.com?
我的MVC4应用程序托管在Azure(共享网站)上,在example.com上运行良好。C# 如何将www.example.com重定向到example.com?,c#,azure,asp.net-mvc-4,url-routing,C#,Azure,Asp.net Mvc 4,Url Routing,我的MVC4应用程序托管在Azure(共享网站)上,在example.com上运行良好。 我想将www.example.com重定向到example.com,但如果在www.example.com访问,它会报告404错误 我应该添加什么?这是解决此问题的正确方法吗? 我不认为这是DNS的问题,因为我已经问过了 我已尝试通过Web.config重定向: <system.webServer> <rewrite> <rules> <clear /&
我想将www.example.com重定向到example.com,但如果在www.example.com访问,它会报告404错误 我应该添加什么?这是解决此问题的正确方法吗?
我不认为这是DNS的问题,因为我已经问过了 我已尝试通过Web.config重定向:
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="WWW Rewrite" stopProcessing="true" enabled="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www[.](.+)" />
</conditions>
<action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
但它不起作用 您必须同时拥有www.mysite.com和mysite.com的DNS记录,无论是a还是CNAME。然后,您应该在web服务器上设置一个“301”重定向,将所有请求从www.mysite.com重定向到mysite.com 如果您不介意人们同时使用这两种方法,那么您的DNS区域中的CNAME记录就可以做到:
www IN CNAME mysite.com
我认为有一种方法可以向谷歌注册,并告诉它总是使用其中一个来为你的网站编制索引。你必须拥有这两个网站的DNS记录:www.mysite.com和mysite.com,或者是a或CNAME。然后,您应该在web服务器上设置一个“301”重定向,将所有请求从www.mysite.com重定向到mysite.com 如果您不介意人们同时使用这两种方法,那么您的DNS区域中的CNAME记录就可以做到:
www IN CNAME mysite.com
我认为有一种方法可以向谷歌注册,并告诉它总是使用其中一个来索引你的网站。除了Web.config中的重写部分,两个域名(example.com和www.example.com)都必须在Azure中配置为自定义域。
然后一切都可以按需要运行。除了Web.config中的重写部分,两个域名(example.com和www.example.com)都必须在Azure中配置为自定义域。
然后一切都按预期进行。Azure不允许您指定多个域和一个规范吗?@GrantThomas:可以,但在这种情况下,我将有两个URL指向同一个网站,这不利于谷歌排名和分析。Azure不允许您指定多个域和一个规范吗?@GrantThomas:可以,但在这种情况下,我将有两个URL指向同一个网站,这不利于谷歌排名和分析。在Azure网站上设置301重定向是我现在遇到的问题。我在我的IIS上使用上面的web.config尝试了你的示例(我没有Azure帐户),它可以按照你的意愿工作:基本上从URL中删除“www.”。你有什么样的错误/行为?你有DNS设置让www.mysite.com指向site.com吗?是的,我有指向@的www的CNAME(否则我会得到服务器未找到错误)。在我的情况下,我收到服务器错误404-找不到文件或目录。在Azure网站上设置301重定向是我现在遇到的问题。我在我的IIS上使用上面的web.config尝试了你的示例(我没有Azure帐户),它按你的要求工作:基本上从URL中删除“www.”。你有什么样的错误/行为?你有DNS设置让www.mysite.com指向site.com吗?是的,我有指向@的www的CNAME(否则我会得到服务器未找到错误)。在我的例子中,我得到了服务器错误404-找不到文件或目录。