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.