Apache从两个域返回相同的站点

我有一个问题,我似乎无法修复的Apache。

我有两个域指向虚拟主机文件中的两个不同的DocumentRoot。 但是,我不能得到这个工作正常,我试图添加的网站根本不会从第二个域显示,但它会显示第一个网站(据我所知这是默认和这意味着我的第二个虚拟主机出了问题)。

我设法通过在第一个虚拟主机之前放置我的新网站来解决这个问题。 这意味着新的网站显示,但被放在apache frameset标签,我无法控制头。

在Raspbian上运行Apache 2.2.22(Debian Linux)

下面我现在的代码

 <VirtualHost *:80> ServerName DIR0.com ServerAlias www.DIR0.com DocumentRoot /var/www/DIR0.com/public_html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/DIR0.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/errors_DIR0.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access_DIR0.log combined </VirtualHost> <VirtualHost *:80> ServerName DIR1.com ServerAlias www.DIR1.com DocumentRoot /var/www/DIR1/public_html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/DIR1.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error_DIR1.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access_DIR1.log combined </VirtualHost> 

检查你是否已经设置

NameVirtualHost *:80

在你的configuration文件中。 该指令允许使用ServerName作为VirtualHost的标识。 如果缺less,则使用IP /端口来标识VirtualHost,这对于这两个VirtualHost都是相同的。