如何使用Apache为不同的主机名提供同一站点的2个版本

我期待为用户提供testing新function的testing版。 我使用Symfony框架运行我的网站。

目前我有以下工作configuration:

mysite.com:

<VirtualHost *:80> DocumentRoot /var/www/html/mysite/current/web ServerName mysite.com ServerAlias www.mysite.com <Directory "/var/www/html/mysite/current/web"> AllowOverride None Order Allow,Deny Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> </VirtualHost> 

我尝试使用以下configuration为我的网站提供testing版本:

 <VirtualHost *:80> DocumentRoot /var/www/html/mysite_beta/current/web ServerName beta.mysite.com <Directory /var/www/html/mysite_beta/current/web> AllowOverride None Require all granted Allow from All <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app.php [QSA,L] </IfModule> </Directory> </VirtualHost> 

这不起作用,Apache只服务于第二个configuration的内容,但是包含了像CSS和js文件这样的资源的404错误。

我不太熟悉configurationApache来达到我想要的效果。

我怎样才能得到我的网站在同一个Apache服务器上运行的两个不同的代码库?

validationDNS是否正确parsingmysite.com和beta.mysite.com。 如果Apache没有收到标题中的HOST值,它将使用加载的第一个站点。

Apache按字母顺序加载网站。

configuration是好的,但我看不到一个

  NameVirtualhost *:80 

指示。 尝试把它放在主configuration文件中