У меня куча доменов, и мой клиент хочет, чтобы www тоже был доступен.
Сделал два текстовых файла. Один начинается с ServerAlias и доменных имен, а другой текстовый файл начинается с ServerAlias и доменных имен www.
Каждый текстовый файл представляет собой одну длинную строку.
Провел проверку синтаксиса configtest, apache говорит: OK Did -t Dump virtual hosts command, и все псевдонимы загружаются правильно.
В браузере нет доступа к www.domains.com
<VirtualHost *:80>
ServerName sale.com
Include /etc/apache2/sites-available/sale.com-domainlist.txt
Include /etc/apache2/sites-available/sale.com-domainlistwww.txt
DocumentRoot /var/www/sale.com
<Directory /var/www/sale.com>
Options -Indexes +FollowSymLinks AllowOverride All
</Directory>
</VirtualHost>
Включаемые файлы
domainlist.txt
ServerAlias sale1.com sale2.com fail.com
список доменовwww.txt
ServerAlias www.sale1.com www.sal2.com www.fail2.com
Частичный файл дампа vhost с сервера
(/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost sale.com (/etc/apache2/sites-enabled/sale.com.conf:1)
alias sale1.com
alias sale2.com
alias fail.com
alias fail2.com
alias www.sale1.com
alias www.sale2.com
alias www.fail.com
alias www.fail2.com
port 80 namevhost mypersonalwebsite.com (/etc/apache2/sites-enabled/mypersonalwebsite.com.conf:2)
alias www.mypersonalwebsite.com
<VirtualHost *:80>
ServerName sale.com
Include /etc/apache2/sites-available/sale.com-domainlist.txt
Include /etc/apache2/sites-available/sale.com-domainlistwww.txt
DocumentRoot /var/www/sale.com
<Directory /var/www/sale.com>
Options -Indexes +FollowSymLinks AllowOverride All
</Directory>
</VirtualHost>
Приведенная выше конфигурация отлично работает для нескольких включаемых файлов.
Каждый включаемый файл начинается с ServerAlias, и все домены должны быть разделены только пробелом.
В настройках DNS моего клиента не учитывался www. который является субдоменом. Мы использовали запись A для доменов с подстановочными знаками в настройках DNS их регистратора. пример:
* IN 45.65.35.76
NAME *
VALUE 45.65.36.76
Звездочка, очевидно, позволяет вам иметь несколько поддоменов без необходимости делать отдельную запись CNAME для каждого.