如何通过名称和 IP 访问 Apache 虚拟主机
How to access Apache VirtualHost via both Name & IP
我在家用计算机上使用 Apache VirtualHosts 和 2 个本地域进行开发和测试。
• d4damage.local (personal websites)
• company.local (work stuff on external drive)
它在我的网络上运行良好。但是,我还需要通过IP192.168.1.60
选择性地访问d4damage.local
(我的电脑固定为这个IP)
原因是我的 PS3 无法解析 d4damage.local
,但可以通过 IP。 (我所有其他 Wi-Fi 设备都可以使用 d4damage.local
)
看来我可以设置 d4damage.local
来处理 IP 或名称,但不能同时处理两者。 (403 forbidden) 注释行显示备选方案。
httpd-vhosts.conf
#NameVirtualHost 192.168.1.60:80
#<VirtualHost 192.168.1.60:80>
<VirtualHost *:80>
ServerAdmin admin@d4damage.local
DocumentRoot "/Users/paul/Sites"
ServerName d4damage.local
ErrorLog "/private/var/log/apache2/d4damage.local-error_log"
CustomLog "/private/var/log/apache2/d4damage.local-access_log" common
</VirtualHost>
httpd.conf
ServerName d4damage.local
...
DocumentRoot "/Users/paul/Sites"
<Directory "/Users/paul/Sites">
主机
127.0.0.1 localhost
192.168.1.60 company.local d4damage.local
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
以上文件涉及我希望在我的计算机上使用的主域,company.local
一个是附加的,我不需要通过 IP 访问它。
希望对您有所帮助!谢谢。
您需要编辑您的主机文件,常见于“/etc/hosts”。
sudo nano /etc/hosts
和这样的新行:
192.168.1.60 d4damage.local
保存文件并重新启动。
啊哈!我发现了问题。
我(不小心)在 vhosts 文件中留下了示例 vhosts dummy-host.example.com
并且简单地评论说阻止已经解决了问题。我假设因为虚拟 name/directory 未在 httpd.conf 中定义,因此导致配置错误。
所以答案是确保您删除或注释掉 httpd-vhosts.conf
中的虚拟示例
我在家用计算机上使用 Apache VirtualHosts 和 2 个本地域进行开发和测试。
• d4damage.local (personal websites)
• company.local (work stuff on external drive)
它在我的网络上运行良好。但是,我还需要通过IP192.168.1.60
选择性地访问d4damage.local
(我的电脑固定为这个IP)
原因是我的 PS3 无法解析 d4damage.local
,但可以通过 IP。 (我所有其他 Wi-Fi 设备都可以使用 d4damage.local
)
看来我可以设置 d4damage.local
来处理 IP 或名称,但不能同时处理两者。 (403 forbidden) 注释行显示备选方案。
httpd-vhosts.conf
#NameVirtualHost 192.168.1.60:80
#<VirtualHost 192.168.1.60:80>
<VirtualHost *:80>
ServerAdmin admin@d4damage.local
DocumentRoot "/Users/paul/Sites"
ServerName d4damage.local
ErrorLog "/private/var/log/apache2/d4damage.local-error_log"
CustomLog "/private/var/log/apache2/d4damage.local-access_log" common
</VirtualHost>
httpd.conf
ServerName d4damage.local
...
DocumentRoot "/Users/paul/Sites"
<Directory "/Users/paul/Sites">
主机
127.0.0.1 localhost
192.168.1.60 company.local d4damage.local
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
以上文件涉及我希望在我的计算机上使用的主域,company.local
一个是附加的,我不需要通过 IP 访问它。
希望对您有所帮助!谢谢。
您需要编辑您的主机文件,常见于“/etc/hosts”。
sudo nano /etc/hosts
和这样的新行:
192.168.1.60 d4damage.local
保存文件并重新启动。
啊哈!我发现了问题。
我(不小心)在 vhosts 文件中留下了示例 vhosts dummy-host.example.com
并且简单地评论说阻止已经解决了问题。我假设因为虚拟 name/directory 未在 httpd.conf 中定义,因此导致配置错误。
所以答案是确保您删除或注释掉 httpd-vhosts.conf
中的虚拟示例