Tengo un problema con Apache que parece que no puedo solucionar.
Tengo dos dominios que apuntan a dos DocumentRoot diferentes en el archivo Virtual Host. Sin embargo, no puedo hacer que eso funcione correctamente, el sitio que estaba intentando agregar no se mostraría desde el segundo dominio en absoluto, sino que mostraría el primer sitio (hasta donde yo sé, este es el predeterminado y significa que algo anda mal con mi segundo host virtual).
Logré solucionar este problema colocando mi nuevo sitio web antes que el primer host virtual. Esto significó que se mostró el nuevo sitio web, pero Apache lo puso en una frameset
etiqueta y no pude controlar el encabezado.
Ejecutando Apache 2.2.22 en Raspbian (Debian Linux)
Aquí está mi código actual;
<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>
Respuesta1
Compruebe si ha configurado
NombreVirtualHost *:80
en su archivo de configuración. Esta directiva permite el uso de ServerName como identificación de VirtualHost. Si falta esto, estás usando IP/puerto para identificar VirtualHost, que es lo mismo para ambos VirtualHost.