Apache2 подстановочные субдомены на сервере с несколькими сайтами

У меня есть сервер Apache с несколькими сайтами, использующими свои собственные домены. Для одного из этих сайтов я хочу иметь поддомены подстановочных знаков.

Я настроил записи домена для *.example.com и это работает просто отлично.

С этим я могу настроить любой поддомен (например, abc.example.com) указывать на любой сайт, пока я указываю имя субдомена.

Домен подстановки хотя (*.example.com) попадает на сайт, который настроен в /etc/apache2/sites-available/default вместо сайта, который имеет ServerName *.example.com,

Что я сделал не так?

*.example.com

<VirtualHost *:80>
    ServerName *.example.com
    ServerAlias abc.example.com

    DocumentRoot /var/www/example
    <Directory /var/www/example>
        AllowOverride all
        Options -MultiViews
        Allow from all
    </Directory>
</VirtualHost>

дефолт

<VirtualHost *:80>
    ServerName default.com
    ServerAlias www.default.com

    DocumentRoot /var/www/default/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/default/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

1 ответ

Решение

Попробуйте переключить директивы ServerName / ServerAlias ​​следующим образом:

ServerName abc.example.com
ServerAlias *.example.com

Насколько я знаю, подстановочные знаки работают только с директивой ServerAlias.

Другие вопросы по тегам