我怎样才能configurationApache 2有2个网站的嵌套的documentRoot?

我需要以下configuration:

  • 访问网站site.dev/index.php project/www/index.php
  • 访问project/www/admin/index.php上的urlsite.dev/admin/index.phpadmsite.dev/index.php

我有文件/etc/apache2/sites-available/site ,如下所示:

 <VirtualHost site.igoru.dev> ServerAdmin webmaster@localhost ServerName site.igoru.dev DocumentRoot /var/www/site/www ErrorLog /var/log/apache2/error.site.log CustomLog /var/log/apache2/access.site.log combined </VirtualHost> <VirtualHost admsite.igoru.dev> ServerAdmin webmaster@localhost ServerName admsite.igoru.dev DocumentRoot /var/www/site/www/admin ErrorLog /var/log/apache2/error.site.log CustomLog /var/log/apache2/access.site.log combined </VirtualHost> 

当我重新启动Apache时,它说第一个虚拟主机与第二个虚拟主机重叠,第一个具有优先权。 “也许你需要一个NameVirtualHost指令”。 当我打开url时,都指向www / index.php文件。

我已经读了一些有关该指令的文档,但它并没有帮助我。
我是一个小菜鸟与Apacheconfiguration,并希望对这个问题的一些帮助。

TY提前。

由于您的VirtualHost块指向主机名,它们绑定到每个请求,这些请求将进入这些名称parsing的地址。 据推测,那些解决相同的地址,所以第一个块得到的地址,第二个什么都得不到。

你可能已经有了一个NameVirtualHost指令。 检查ports.conf 。 如果没有,请设置一个( NameVirtualHost *:80 ),然后更改您的VirtualHost块以匹配为主VirtualHostconfiguration的名称:

 <VirtualHost *:80> ServerName site.igoru.dev ... </VirtualHost> <VirtualHost *:80> ServerName admsite.igoru.dev ... </VirtualHost>