需要说明的是:我并不是问我是否应该在自己的网址中使用www,或者是什么利弊,这个主题已经涵盖了。我也不确定这是堆栈溢出,服务器故障还是网站管理员的问题-非常欢迎迁移到更合适的渠道。


背景:最近有人要求我进行转换网站的网址全部使用www,如http://example.comhttp://www.example.com所示。请求的原因在我头上。我提供了一封电子邮件的摘录:


遇到了一个问题,

显然,无论何时最初使用其网络来设置站点(在我之前都是
),安装程序选择将内部域用作“ example.com” ...
不好...

这是试图从外部解决问题的问题。在一些
qweb页面源代码中,看到许多链接被编码为
'http:\ example.com \ PAGE.XXX'...

可能在全球范围内从“ http:\ example.com”更改为“ http:\ www.example.com”

我可以解析www,但是一旦点击链接,它就会认为服务器是
内部示例,其中包含域“ example.com” ...


与客户端无法通过自己的网络访问网站有关。正如我提到的那样,我不太了解。

因此,我实施了更改,但是在测试时,我不小心输入了一个额外的w,令我惊讶的是-该站点仍然有效。 br />
然后我尝试了多个w,然后输入了两个,然后我输入了一些废话,该站点仍然有效。

编辑:为了更加准确,只有字母,数字,破折号和下划线字符将解决,其他任何内容都将在浏览器中返回“服务器未找到”错误。未找到”错误。

有没有人知道此电子邮件请求的目的,以及我提到的意外和实验为何起作用?

我当然可以提供更多信息,但不确定是否有什么意义。

评论

以前从未听说过……几乎就像子域的“包罗万象”,您可以在其中直接键入任何内容,但仍可以进入主域。那么,当您尝试test.yourDomain.com时会发生什么?它是否重写或重定向到www。或进行测试。保留在URL中吗?

在W3C网站中查看。

@ Sparky672:正常显示,没有重定向或任何内容。

@Wesley:重申一下...您可以包含任何可以想象的乱码子域,它是否有效?奇怪的。我最初想到的是“使用通配符进行Mod重写”,但如果URL中仍然存在随机子域,则我不知道其背后的机制。

这是一个DNS通配符,但仍然要遵守DNS命名标准,该标准只允许任何字符数据。

#1 楼

wwwexample.com的子域。

您可以将DNS配置为具有多个子域,这些子域可以解析到不同的Web服务器,从而为您提供不同的站点。

example.com(无子域)

site2.example.com

site3.example.com

听起来就像是将网络设备example.com设置为解析到网络DNS服务器上的内部Web服务器;这只能由内部网络上的主机访问,因此,浏览到网络内部example.com的任何人都会看到与外部网站不同的网站,因为他们使用其他DNS服务器来解析example.com。最好给它自己的子域。例如internal.example.com

网络中的用户浏览到www.example.com时会点击一个链接,并转到example.com,这在外部是可以的,但在内部它们会解析为其他Web服务器,这就是为什么要求您更改链接。

如果内部服务器上的内容与外部服务器上的内容相同,则可能会遇到相反的问题。浏览内部站点时,任何超链接都将带您到外部站点。

如果可能,您可能会发现在超链接中使用相对URL更好。例如<a href="/index.htm">Index Page</a>而不是<a href="https://example.com/index.htm">Index Page</a>

然后,浏览器将根据您浏览的站点选择https://www.example.comhttps://example.com

为什么www起作用的原因可能是通配符DNS条目,这意味着* .example.com解析为相同的IP,有效地捕获了所有不存在的子域。

评论


很好的解释,现在对我来说越来越清楚了。关于相对URL的一个很好的技巧-我已经在90%的网站中使用了它们,但是有时由于我们使用CMS进行所有操作,它们有时会被忽视。因此,从技术上讲,人们可以选择不允许www解析为子域吗?

–韦斯利·默奇(Wesley Murch)
2011年5月25日下午6:25

是的,尽管通常这样做。通过完全的DNS控制,我相信您必须明确设置www的DNS条目。我的DNS提供商自动将www添加为子域。

–匿名
2011年5月25日7:09

#2 楼

WWW是万维网的别名,它也是人们用来指定该域托管网站的常见子域。


使用子域名通过创建指向Web
服务器群集的CNAME记录
来平衡传入Web的流量,这很有用。由于当前只能将一个
子域命名为相同的
结果,因此无法使用

在在大多数情况下,我认为www.子域会被忽略,而您键入一个或另一个并不重要。但是,考虑到当今的网络状况以及HTTP和网络的真正普及情况,我永远都不会要求在域名中包含www.,如果您今天浏览一个网站,您会注意到诸如facebook之类的网站和Google会在www.前面加上一个前缀,即使您不键入它也是如此。有一些方法可以处理通配符,并将所有流量(不考虑子域)转发到同一Web服务器。但这取决于Web服务器以某种方式响应每个单独的主机头,并且这是完全可配置的(显然,您需要检查什么配置才能完全回答问题)。

评论


那么,什么解释了OP如何从字面上键入任何子域到URL中却仍然有效呢?

–闪闪发光
2011年5月25日下午5:37

假定以类似方式设置网络服务商。 Web服务器还必须将通配符映射到正确的网站。也就是说,主机标头中的内容可能是任何东西,但如果映射不正确,它将不会进入正确的网站。

–匿名
2011年5月25日下午5:39

对我来说这没有意义。他声称自己可以从字面上键入任何乱码到该子域中,并且该站点仍然可以正常使用URL中包含的随机子域。

–闪闪发光
2011年5月25日下午5:44

是的,我告诉您,DNS通配符(我什至在答案中将其链接了)。您可以具有通配符子域,并且如果您的Web服务器也使用通配符进行主机映射,则该映射也将起作用。就像描述的那样。

–匿名
2011年5月25日下午5:46

我不反对你的解释。只需确保我们与OP都在同一页面上,同时还要说明他的描述对我来说是新的。

–闪闪发光
2011年5月25日下午5:50

#3 楼

如果他们正尝试使用以下网址:http:\example.com\PAGE.XXX,则没有任何帮助。

从www.example.com中的www后缀开始...

从历史上讲, “ ftp”,“ pop3”等“ www”是在“ example.com”域内运行相应服务的计算机的名称。实际上,这种模式仍在许多公司中使用。