Возжелал вчера доменных зон в локалке. Чтоб не писать каждый раз в /etc/hosts поставил Dnsmasq и добавил в /etc/dnsmasq.conf доменные зоны:
address=/raz/127.0.0.1
address=/dva/127.0.0.1
address=/tri/127.0.0.1
Запустил модуль, чтоб виртуальные докруты заработали
sudo a2enmod vhost_alias
Потом в /etc/apache2/sites-enabled/000-default.conf попытался рассказать Apache2 что от него хотят:
<VirtualHost *:80>
ServerName raz
ServerAlias *.raz
VirtualDocumentRoot /var/www/raz/%0
LogLevel warn
<Directory "/var/www/raz/">
AllowOverride All
Options -Indexes
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Получилось так:
#я доволен
Адрес site.raz смотрит в папку site.raz (ок)
Адреса вида subdomain.site.raz смотрят в свои папки (ok)
#я не доволен
Адрес www.site.raz отдает 404 (а я хочу в папку site.raz)
Адреса вида www.subdomain.site.raz отдают 404 (а я хочу в папки вида subdomain.site.raz)
Проще говоря, нужно «с WWW» на локалке. А если одним словом, то нужно VirtualDocumentRootAlias. Но в доках такого не обнаружил.
Список использованной литературы: (ru) http://www.softtime.ru/info/apache.php?id_article=103 (en) http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html