MacOS仅为非www url托管文件条目

Jas*_*son 6 hosts-file osx-elcapitan

我正在运行MacOSX 10.11.4.

我想让example.com指向我在本地运行的apache服务器,但让www.example.com指向实际的网站.

示例:我的/ etc/hosts文件中有以下条目: 127.0.0.1 example.com 如果我ping example.com和www.example.com,它们都达到127.0.0.1(我相信因为规范URL被识别为相同).

有趣的是,Chrome会根据我的需要提取网址,但Firefox会点击localhost.

-

编辑:我知道使用像example.local这样的东西更传统,完全避免这个问题; 但是,我的工作现在已经使用www/non-www方法一段时间了,如果可能的话,我希望保留它.

ser*_*inc 3

这可能太简单了,但为什么不把

example.com     127.0.0.1
www.example.com 123.52.232.12
Run Code Online (Sandbox Code Playgroud)

到你的/etc/hosts文件中,123.52.232.12 是真实 example.com 站点的 IP 地址?

为什么会发生这种情况或如何阻止两个域访问我的主机文件

这是默认的解析顺序,文件hosts会针对子域自动扩展。@fragmentedreality 的解决方案通过使用 dnsmasq 解析器提供了一种解决方法,https: //serverfault.com/questions/431605/dont-automatically-include-all-subdomains-in-dnsmasq-address也推荐使用该解决方案,并在https进行描述://gist.github.com/ogrrd/5831371