Я начну с описания того, чего я хочу достичь.
Прежде всего, у меня есть один основной домен, который xxx.pl, у домена 4 поддомена 000.xxx.pl, 111.xxx.pl, 222.xxx.pl, 333.xxx.pl. Также у меня есть другой домен yyy.pl со своими поддоменами (в основном одинаковыми). Конечно доменов будет больше, но не в этом суть.
Теперь мне нужен любой домен, для которого не настроен vhost для http, будет указывать /var/www/pl.xxx и то же самое с https. (так что это сайт по умолчанию), который на данный момент я настроил как (и аналогично для https):
сайты-включены / 999-по умолчанию
<VirtualHost *:80>
ServerAdmin postmaster@xxx.pl
DocumentRoot /var/www/vhosts/pl.xxx
<Directory /var/www/vhosts/pl.xxx>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Итак, этот файл, насколько я понимаю, будет загружен последним, так что apache отправится туда, если не будет более точного ответа.
Затем есть файл для основного домена (HTTP и HTTPS одинаковые, за исключением ключей и т. Д.), Который будет загружен до конфигурации сайта по умолчанию.
сайты с поддержкой / 998-pl.xxx
<VirtualHost *:80>
ServerAdmin postmaster@xxx.pl
ServerName xxx.pl
ServerAlias *.xxx.pl
DocumentRoot /var/www/vhosts/pl.xxx
<Directory /var/www/vhosts/pl.xxx>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
И теперь мне нужно указать 2 домена (только на https), на http они должны использовать сайты с поддержкой / 998-pl.xxx config.
для сайтов / 997-pl.xxx.000
ServerAdmin postmaster@xxx.pl
ServerName 000.xxx.pl
ServerAlias 000.xxx.pl
DocumentRoot /var/www/vhosts/pl.xxx.000
<Directory /var/www/vhosts/pl.xxx.000>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
И все было бы хорошо, кроме другого домена yyy.pl на https используйте ту же конфигурацию, что и 000.xxx.pl адрес. И что мне нужно ограничить только 000.xxx.pl использовать этот адрес. Не все остальные не назначенные домены.
так https://yyy.pl | https://000.yyy.pl и т. д. следует использовать по умолчанию-ssl настройки вместо 000.xxx.pl настройки.
Пожалуйста, помогите мне понять, что происходит. Возможно, я неправильно понял использование конфигурации apache.
Редактировать:
В общем проблема частично решается, потому что работает. но есть одна интересная вещь о зависимости записи / etc / hosts от конфигурации поддомена.
сайты-включены / 999-по умолчанию
[...]
Итак, этот файл, насколько я понимаю, будет загружен последним, так что apache отправится туда, если не будет более точного ответа.
Это работает наоборот. Таким образом, сайт, который будет отображаться по умолчанию, должен быть первый один апач придется разбирать. Я бы назвал это 000-default или как угодно, что пойдет перед другие.