我在 XP 上运行 Apache 2.2。我想设置 Apache,以便我有不同的测试站点(每个都在不同的端口上侦听),以供我内部(家庭网络)上的其他机器访问。
我设法设置了不同的虚拟主机(全部使用端口 80),然后我使用主机文件提供服务器名称,例如:
127.0.0.1 本地主机 127.0.0.1 test.php.localhost 127.0.0.1 phpmyadmin.localhost
ETC
这在我的本地机器上运行良好,因为我可以访问 http://phpmyadmin.localhost/(例如,在我的本地机器上。但是,当我转到另一台机器时,我无法键入http://phpmyadmin.localhost/我只能输入http://[server.ip.address],在这种情况下,它会给我 httpd.conf 文件中列出的第一个网站。
我有两个(可能相关的)问题
- 我需要做什么才能从局域网中的另一台机器访问http://phpmyadmin.localhost/(只是修改每台机器上的主机文件的情况,还是更复杂?)
- 如何从我网络中的一台机器访问特定网站(在我的本地服务器上),而不是自动分配给 httpd.conf 中列出的第一个 wite?
localhost在每台计算机的主机文件中都有自己的条目 - 它指向特殊的环回 IP 地址
127.0.0.1
或本地计算机。当浏览器发出任何请求时,任何给定的机器都会在本地(在其自身上)查找127.0.0.1
,并且由于您已将所有主机条目指向127.0.0.1
您无法将此配置复制到其他机器上,因此您必须使用主机的面向公众的 IP机器。您应该在本地网络上托管 DNS 记录,或者更简单地更改每台客户端计算机的主机文件
C:\WINDOWS\system32\drivers\etc\hosts
这将使所有请求都
http://phpmyadmin/
定向到 IP 地址192.168.1.72
确保您已配置主机文件 - 如果您使用基于名称的虚拟主机,您需要使用相关服务器名称(即上面的 phpmyadmin)访问服务器,以便服务器可以在虚拟主机配置中搜索该服务器/别名并加载适当的数据。