在Namecheap上如何设置网站根域名到www子域名

在Namecheap上如何设置网站根域名到www子域名

当建立一个新的网站的时候,通常我习惯做一个www子域名的A记录到网站服务器,然后再做一个CName记录把根目录也指向同一个服务器。
这样配置DNS之后,再在网站的服务器上做根域名到www子域名的重定向redirect。

这样当访问网站的这样的URL地址的时候就会转到对应的www的URL地址。例如:

    http://map4b.com -> http://www.map4b.com
    http://map4b.com/about -> http://www.map4b.com/about
    https://map4b.com -> https://www.map4b.com

通常这样似乎没什么问题,我也一直是这么做的。

但是没想到namecheap不建议这么做,因为这会影响这个域名的email服务器的MX记录。

Please don’t set up a CNAME record for a bare domain e.g., yourdomin.tld (@ hostname since it may affect the operation of the domain’s MX records and, consequently, the email service. Thus, in most cases you will need to create a CNAME record for WWW (or other subdomain) and URL Redirect for @ that will point to http://www.yourdomain.tld/

参考:https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-can-i-set-up-a-cname-record-for-my-domain

推荐的方式是用namecheap的域名URL redirect配置。
但是这里有个小小的陷阱需要特别注意一下,就是redirect的目的URL最后带不带一个“/”结果很不一样。
简单的说,redirect根域名@的时候,目的URL应该以“/”结尾,否则原URL里的domain后面的path不会出现的目的URL中。
例如,当redirect的配置是 @ => http://www.map4b.com 时,redirect的结果如下:

    http://map4b.com -> http://www.map4b.com
    http://map4b.com/about -> http://www.map4b.com

例如,当redirect的配置是 @ => http://www.map4b.com/ 时,redirect的结果是这样的:

    http://map4b.com -> http://www.map4b.com
    http://map4b.com/about -> http://www.map4b.com/about

等到这个小陷阱是因为Google的Ad manager里的ads.txt验证是是通过根域名和http来访问ads.txt文件的。所以尽管网站的地址是http://www.map4b.com 或 https://www.map4b.com ,但是Ad manager验证ads.txt的URL却是 http://map4b.com/ad.txt !

参考Stack Overflow上的这篇文章: https://webmasters.stackexchange.com/questions/112771/redirecting-with-namecheap-removes-the-path-and-sends-all-urls-to-the-home-page

问题是namecheap的这种redirect的方法只支持http。当你应https去访问,namecheap重定向的服务器并不会做任何动作。这个不知道应该如何解决:(

leon

每天进步一点点
Close Menu