当 URL 不包含“www”时访问网站时出错

当 URL 不包含“www”时访问网站时出错

为什么第一个链接可以工作,而第二个链接不工作?
1.http://www.gifgifgifgifgif.com/gif/11740.gif
2.gifgifgifgifgif.com/gif/11740.gif

对于第二个链接,我从我的 ISP 收到一个错误:
http://navigationshilfe1.t-online.de/dnserror?url=http://www.gifgifgifgifgif.comgif/

这是什么原因造成的?是我的浏览器,我的 ISP 还是服务器 (gifgifgifgifgif.com)?

我猜是服务器配置错误,只有 URL 包含 www 时才有效。这只是猜测。

答案1

问题在于服务器配置不正确。如果你尝试使用 curl 转到第二个链接,curl -i http://gifgifgifgifgif.com/gif/11740.gif你会收到

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sun, 28 Jan 2018 17:53:39 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 251
Connection: keep-alive
Location: http://www.gifgifgifgifgif.comgif/11740.gif

因此浏览器重定向到格式错误的位置 URL。

答案2

www.gifgifgifgifgif.com 和 gifgifgifgifgif.com 是两个不同的主机名。主机名到 IP 地址的解析在 DNS 中定义。如果第二个主机名没有 DNS 记录,您将收到如您所指出的 DNS 错误。

www. 仅仅是针对运行 Web 服务器的主机的约定,它没有语义含义且不是强制性的。

相关内容