Windows Azure:如何为域的301非www url到www

Gop*_*ath 10 windows asp.net dns azure asp.net-mvc-3

我最近部署了一个Windows Azure应用程序,并通过DreamHost门户配置了我的域的DNS.现在我的网站可以通过http://www.coziie.com访问,但不能通过非www地址访问.

我在其中一篇文章中读到了我应该在DNS设置中添加A记录并指向Windows Azure的虚拟IP.如何获得Windows Azure部署的虚拟IP?

或者有没有更好的方法301将所有非www网址重定向到www?

已解决:我能够通过简单的配置网站重定向DreamHost的DNS设置的设置来解决这个问题.一个简单的301重定向http://coziie.com到www.coziie.com解决了这个问题.

rtp*_*rry 15

你在这里谈论两个不同的问题.

第一种是设置DNS记录,以便您的未经过管理的网址正常工作.第二种是在网站被访问时重定向网址.

更新我已从此处删除了之前对CNAME的建议,因为我之前没有意识到您无法将根域设置为CNAME记录.看来,在Azure的ip限制下,您必须将根域记录指向非天蓝色的asp.net托管,然后将301重定向(例如我的回复中的另一个)转发到Azure域名(www域名).

当你有http://coziie.com/指向你的网站并提供服务页面的时候就可以解决这个问题,因为谷歌可能会感到困惑,想想它的两个不同的网站,然后在两者之间稀释你的网页排名.

诀窍是设置301重定向.我相信url重写工具最初是作为IIS7的插件开始的,但现在包含在其中了吗?你可能需要快速搜索一下.

无论如何,这是我在安装了官方url重写扩展的IIS7服务器上的方法(这在你的web.config中):

  <system.webServer>
    <rewrite>
      <rules>
        <clear/>
        <rule name="WWW Rewrite" enabled="true">
          <match url="(.*)"/>
          <conditions>
            <add input="{HTTP_HOST}" negate="true" pattern="^www\."/>
          </conditions>
          <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

Intellisense会抱怨它不是一个公认的元素,但在编辑文件时这只是一个美化问题.