Apache возвращает один и тот же сайт с двух доменов

Apache возвращает один и тот же сайт с двух доменов

У меня возникла проблема с Apache, которую я никак не могу решить.

У меня есть два домена, которые указывают на два разных DocumentRoot в файле Virtual Host. Однако я не могу заставить это работать правильно, сайт, который я пытался добавить, вообще не отображался со второго домена, но вместо этого отображался первый сайт (насколько я знаю, это значение по умолчанию, и это означает, что что-то не так с моим вторым виртуальным хостом).

Мне удалось обойти эту проблему, разместив свой новый веб-сайт перед первым виртуальным хостом. Это означало, что новый веб-сайт отображался, но был помещен в framesetтег apache, и я не мог контролировать заголовок.

Запуск Apache 2.2.22 на Raspbian (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>

решение1

Проверьте, установлены ли у вас

ИмяVirtualHost *:80

в вашем файле конфигурации. Эта директива позволяет использовать ServerName в качестве идентификации VirtualHost. Если это отсутствует, вы используете IP/порт для идентификации VirtualHost, который одинаков для обоих VirtualHost.

Связанный контент