Назад | Перейти на главную страницу

Поддомены 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>

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

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

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