按本地IP地址打开多个虚拟主机


Open multiple virtual hosts by local IP address

我使用Apache、OSX环境中的PHP(MAMP)和Symfony框架进行开发。Symfony需要使用虚拟主机进行本地开发,所以我在/etc/apache2/hosts文件中添加了以下几行:

127.0.0.1   frontenda.dev
127.0.0.1   frontendb.dev

然后在我的/Applications/MAMP/conf/apache/extra/httpd.vhosts.conf中,我添加了以下行:

<VirtualHost *:80>
  ServerName frontenda.dev
  DocumentRoot /Users/geo/Sites/frontenda/www/
</VirtualHost>
<VirtualHost *:80>
  ServerName frontendb.dev
  DocumentRoot /Users/geo/Sites/frontendb/www/
</VirtualHost>

我可以通过这些URL http://frontenda.devhttp://frontendb.dev从浏览器打开这些文件夹。我的问题是,我应该怎么做(如果可能的话)来使用IP地址而不是frontenda.devfrontendb.dev?我的意思是,比方说我的机器ip 192.168.1.144,我可以执行192.168.1.144/frontenda,甚至为不同的文件夹分配不同的端口号吗?

您可以使用Alias将不同的路径映射到不同的目录

Alias /frontenda /Users/geo/Sites/frontenda/www
Alias /frontendb /Users/geo/Sites/frontendb/www

我有一个更好的答案。我用37signals的xip.io让它工作http://xip.io/.你可以这样做:

        10.0.0.1.xip.io   resolves to   10.0.0.1
    www.10.0.0.1.xip.io   resolves to   10.0.0.1
 mysite.10.0.0.1.xip.io   resolves to   10.0.0.1
foo.bar.10.0.0.1.xip.io   resolves to   10.0.0.1