我有一个网站托管在商业 G-Suite Google Sites 上,www 版本网站正常运行,但是非 www版本无法正常工作:
# wget www.fashioncodebeautysalon.com
--2018-02-22 21:43:15-- http://www.fashioncodebeautysalon.com/
Resolving www.fashioncodebeautysalon.com (www.fashioncodebeautysalon.com)... 172.217.6.51
Connecting to www.fashioncodebeautysalon.com (www.fashioncodebeautysalon.com)|172.217.6.51|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 19.78K --.-KB/s in 0.03s
2018-02-22 21:43:16 (671 KB/s) - ‘index.html’ saved [20257]
# wget fashioncodebeautysalon.com
--2018-02-22 21:43:20-- http://fashioncodebeautysalon.com/
Resolving fashioncodebeautysalon.com (fashioncodebeautysalon.com)... 216.58.195.83
Connecting to fashioncodebeautysalon.com (fashioncodebeautysalon.com)|216.58.195.83|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-02-22 21:43:20 ERROR 404: Not Found.
为了进入此状态,我在 GoDaddy 控制台中创建了DNS A 记录并复制了我访问www版网站时获得的IP地址。这是正确的创建方法吗DNS A 记录,因为我不知道 Google 是否保证这个特定的 IP 地址会一直保持不变?我是否应该输入其他特定的 IP 地址?
由于我收到 404,因此我倾向于认为问题不在于 DNS,而在于 Google Sites,其 Web 服务器要求 HTTP 请求标头中的“Host:”值带有“www”前缀。但是,我无法在 Google Sites 控制台中添加此类地址映射,因为子域字段不能留空,如下所示:
我在这里遗漏了什么?
答案1
在 GoDaddy 控制面板中添加从 domain.com 到 www.domain.com 的重定向规则应该有效。您的访问者呢?他们第一次访问您的网站时会获得 301 重定向,它将被缓存在他们的浏览器中。301 是永久重定向代码,与 302 相反,后者不会被缓存,也不会每次都重定向。使用哪一个取决于您。