0

我有几个在 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。

有任何想法吗 ?

感谢您阅读

4

1 回答 1

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
于 2013-05-28T05:27:13.303 回答