我的开发服务器位于本地托管的虚拟机上。虚拟机运行的是 Ubuntu,主机是 Windows 8。我在虚拟机上安装了 Samba,因此我可以通过主机名访问它。一切都很顺利,除了我想开始在我的项目中测试子域之外。
我认为 Apache 配置适合我想要做的事情:
<VirtualHost *:80>
ServerName foo
ServerAlias *.foo
DocumentRoot /home/foo/sites/foo/www
<Directory /home/foo/sites/foo>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
现在,我知道我可以通过向/etc/hosts
虚拟机中添加条目或使用类似 dnsmasq 的工具来执行类似操作。但是,无论使用哪种方法,子域都不会转移到主机,也就是说,我无法en.foo
在 Windows 8 计算机上输入 ,也无法看到与仅输入 时相同的内容foo
。
是否可以在不借助 DNS 代理并将我的 Windows 机器的 DNS 地址设置为代理的情况下实现此目的?
答案1
您需要将 hosts 文件条目添加到您的 Windows 8 机器中,以便您的 Web 浏览器可以通过 HTTP 将它们发送到您的 VM。
该文件的格式与基于 Unix 的系统相同,可以在以下位置找到:
C:\Windows\system32\drivers\etc\hosts