早上好。
试图让这个工作,但我敢肯定,我失去了一些东西。
我的虚拟主机configuration文件:
<VirtualHost 127.0.0.11:80> ServerName test.localhost #... </VirtualHost>
我的/ etc / hosts文件:
... 127.0.0.11 test.localhost ...
当我去http://127.0.0.11它的工作原理,但是当我去http://test.localhost它不会 – 它回落到我在<VirtualHost _default_:*>...</VirtualHost>configuration的默认站点<VirtualHost _default_:*>...</VirtualHost> 。 我已经在这里search了几个小时了,有点不知所措,希望有人能给我一个关于看什么的指针。
谢谢。
看起来像所有域名都是.localhost的TLD映射到127.0.0.1。 当我将我的虚拟主机ServerName更改为“test.local”并相应地更新了我的/ etc / hosts时,它一切正常。
从RFC2606:
传统上,“.localhost”TLD在主机DNS实现中被静态定义为具有指向环回IP地址的Alogging,并被保留用于这种使用。 任何其他用途都会与广泛部署的代码相冲突。
我假设“回送IP地址”是127.0.0.1。
虽然我能够从http://test.localhost/进行ping和curl并获取正确的数据,但实际上从我的Web浏览器(铬)加载该URL是从127.0.0.1拉,因为我在默认的请求标头中观察到networking开发者工具中的页面。 我猜铬不检查是否有一个/ etc / hosts条目的任何请求与.localhost顶级域名的主机…我可以去http://onfasofn3noidsnfd90.localhost ,它仍然映射到我的默认网站托pipe127.0.0.1。
参考文献: