Apache 2.2多个VirtualHosts

时间:2013-05-28 03:22:25

标签: apache virtualhost document-root

我在apache 2.2下运行了几个PHP和python项目。

在我的httpd.conf文件中:

DocumentRoot "/var/www/html"

NameVirtualHost xx.my.ip.xxx:80
...


# Virtual host for xx project
<VirtualHost xx.my.ip.xxx:80>
    ...
    DocumentRoot /var/www/html/xx.com
    ServerName xx-project.com
</VirtualHost>

...

按服务器名称(xx-project.com)访问时, [/var/www/html/xx.com]用作DocumentRoot,没有任何问题。

但是我在[/ var / www / html]下添加了一个新项目。由于我还没有这个项目的服务器名称,我尝试使用xx.my.ip.xxx:80/mynewprojectPath访问它...但是[/var/www/html/xx.com]被用作DocumentRoot。< / p>

有什么想法吗?

感谢您阅读

1 个答案:

答案 0 :(得分:1)

我会使用临时的NameServer(比如yy-project.com)并覆盖服务器和开发者机器中的/ etc / hosts文件。这样,您可以指定第二个VirtualHost并开始测试您的应用程序。当您获得第二个域时,您只需在VirtualHost中替换它并删除/ etc / hosts文件中的行。

(编辑)的

临时虚拟主机:

<VirtualHost *:80>
ServerName yy-project.com
ErrorLog /var/log/apache2/yy-project_error.log
TransferLog /var/log/apache2/ryy-project_access.log
LogLevel warn
DocumentRoot /var/www/html/yy.com
....
</VirtualHost>

在服务器的/ etc / hosts文件中添加以下行:

127.0.0.1   yy-project.com

并将其添加到客户端计算机的/ etc / hosts文件中:

IP_OF_THE_SERVER yy-project.com