如何将www.example.com重定向到example.com?

时间:2013-01-21 18:45:39

标签: c# azure asp.net-mvc-4 url-routing

我的MVC4应用程序托管在Azure(共享网站)上,并且在exaple.com上运行良好 我想将www.example.com重定向到example.com,但如果在www.example.com上访问它会报告404错误。

我应该添加什么,是否是解决此问题的正确方法? 我认为这不是DNS问题,因为我在serverfault上提出了这个问题。

我尝试通过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>

但它不起作用。

2 个答案:

答案 0 :(得分:4)

您必须拥有以下两者的DNS记录:www.mysite.com和mysite.com,A或CNAME。然后,在Web服务器上,您应该设置一个“301”重定向,将所有请求从www.mysite.com重定向到mysite.com。

如果你不介意人们同时使用两者,那么你的DNS区域中的CNAME记录应该可以解决这个问题:

www IN CNAME mysite.com

我认为有一种方法可以向Google注册并告诉它始终使用其中一种来为您的网站编制索引。

答案 1 :(得分:0)

除了Web.config 中的重写部分外,还必须在Azure中将两个域名(example.com和www.example.com)配置为自定义域。
然后一切都按预期工作。