Chrome on OS X 不尊重 etc/hosts and/or httpd-vhosts.conf localhost 子域
Chrome on OS X doesn't respect etc/hosts and/or httpd-vhosts.conf localhost subdomains
过去几天,这种情况一直困扰着我。我在我的 etc/hosts 文件中设置了很多开发环境子域,就像这样...
127.0.0.1 localhost
127.0.0.1 sub.localhost
127.0.0.1 another.localhost
127.0.0.1 andanother.localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
然后在我的Applications/MAMP/conf/apache/extra/httpd-vhosts.conf文件中指定,像这样...
NameVirtualHost *:80
NameVirtualHost sub.localhost:80
NameVirtualHost another.localhost:80
NameVirtualHost andanother.localhost:80
<VirtualHost *:80>
DocumentRoot "/Users/johndoe/websites"
ServerName localhost
</VirtualHost>
<VirtualHost sub.localhost:80>
DocumentRoot "/Users/johndoe/websites/sub"
ServerName sub.localhost
</VirtualHost>
<VirtualHost another.localhost:80>
DocumentRoot "/Users/johndoe/websites/another"
ServerName another.localhost
</VirtualHost>
<VirtualHost andanother.localhost:80>
DocumentRoot "/Users/johndoe/websites/andanother"
ServerName andanother.localhost
</VirtualHost>
最近他们都停止了在 Chrome 中的工作(Firefox 和 Safari 工作得很好)。我的所有本地主机子域开始出现 404 错误。
- editing/changing etc/hosts 中的设置无效
- editing/changing 我的 httpd-vhosts.conf 文件中的设置不起作用
我只是想不通为什么 Chrome 没有将这些地址解析到我本地计算机上的那些目录。
.
经过大量研究(以及反复试验)后,我意识到这是一个 DNS 问题。以前,我在“系统偏好设置”>“网络”>“高级...”>“DNS”>“DNS 服务器”中的 DNS 设置如下...
8.8.8.8
8.8.4.4
xxx.xxx.xxx.x
xxx.xxx.xxx.x
那是前 2 个插槽中 Google 的 DNS 服务器,x 代表我的 ISP 的 DNS 服务器地址。经过一些搜索后,一些人建议首先添加我本地网络的 IP 地址,以此强制我的系统上的任何内容在转到外部 DNS 之前先在本地查看,所以我将我的网络路由器地址添加到其他地址之上...
10.0.1.1
这也不太奏效 - 或者它确实奏效了 - 但没有持续(老实说现在不记得了),但我接下来尝试的确实奏效了。我在本地网络地址上方添加了我机器的本地主机(家庭)地址,就像这样...
127.0.0.1
10.0.1.1
8.8.8.8
8.8.4.4
xxx.xxx.xxx.x
xxx.xxx.xxx.x
.
现在 Google Chrome 成功 "finds" 我所有的本地主机子域。
我当然希望所有这些对其他人有所帮助。
最近这也困扰着我。本来好好的,突然就停了。
我把路由器的IP地址(192.168.0.1)放在DNS服务器的第一位。
过去几天,这种情况一直困扰着我。我在我的 etc/hosts 文件中设置了很多开发环境子域,就像这样...
127.0.0.1 localhost
127.0.0.1 sub.localhost
127.0.0.1 another.localhost
127.0.0.1 andanother.localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
然后在我的Applications/MAMP/conf/apache/extra/httpd-vhosts.conf文件中指定,像这样...
NameVirtualHost *:80
NameVirtualHost sub.localhost:80
NameVirtualHost another.localhost:80
NameVirtualHost andanother.localhost:80
<VirtualHost *:80>
DocumentRoot "/Users/johndoe/websites"
ServerName localhost
</VirtualHost>
<VirtualHost sub.localhost:80>
DocumentRoot "/Users/johndoe/websites/sub"
ServerName sub.localhost
</VirtualHost>
<VirtualHost another.localhost:80>
DocumentRoot "/Users/johndoe/websites/another"
ServerName another.localhost
</VirtualHost>
<VirtualHost andanother.localhost:80>
DocumentRoot "/Users/johndoe/websites/andanother"
ServerName andanother.localhost
</VirtualHost>
最近他们都停止了在 Chrome 中的工作(Firefox 和 Safari 工作得很好)。我的所有本地主机子域开始出现 404 错误。
- editing/changing etc/hosts 中的设置无效
- editing/changing 我的 httpd-vhosts.conf 文件中的设置不起作用
我只是想不通为什么 Chrome 没有将这些地址解析到我本地计算机上的那些目录。
.
经过大量研究(以及反复试验)后,我意识到这是一个 DNS 问题。以前,我在“系统偏好设置”>“网络”>“高级...”>“DNS”>“DNS 服务器”中的 DNS 设置如下...
8.8.8.8
8.8.4.4
xxx.xxx.xxx.x
xxx.xxx.xxx.x
那是前 2 个插槽中 Google 的 DNS 服务器,x 代表我的 ISP 的 DNS 服务器地址。经过一些搜索后,一些人建议首先添加我本地网络的 IP 地址,以此强制我的系统上的任何内容在转到外部 DNS 之前先在本地查看,所以我将我的网络路由器地址添加到其他地址之上...
10.0.1.1
这也不太奏效 - 或者它确实奏效了 - 但没有持续(老实说现在不记得了),但我接下来尝试的确实奏效了。我在本地网络地址上方添加了我机器的本地主机(家庭)地址,就像这样...
127.0.0.1
10.0.1.1
8.8.8.8
8.8.4.4
xxx.xxx.xxx.x
xxx.xxx.xxx.x
.
现在 Google Chrome 成功 "finds" 我所有的本地主机子域。
我当然希望所有这些对其他人有所帮助。
最近这也困扰着我。本来好好的,突然就停了。
我把路由器的IP地址(192.168.0.1)放在DNS服务器的第一位。