В нашей локальной сети я установил несколько «поддельных» TLD на DNS-сервере, чтобы использовать их для виртуального хостинга на основе имен Apache. Я хотел бы объединить это с массовым виртуальным хостингом (то есть VirtualDocumentRoot) на сервере Ubuntu 10.04 LAMP.
Тем не менее, я не могу выбрать правильный vhost!
Вот краткое изложение конфигурации Apache:
NameVirtualHost 10.10.0.205
<VirtualHost 10.10.0.205>
ServerName *.test
VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
<VirtualHost 10.10.0.205>
ServerName *.dev
VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
Имя хоста, такое как www.domain.com.dev , правильно разрешается до 10.10.0.205, но всегда выбирает верхний хост, а не нижний, который более точно соответствует.
У меня сложилось впечатление, что Apache сначала попытается сопоставить имя_сервера, а затем по умолчанию использовать верхний хост для данного IP-адреса. Что я делаю неправильно? Или это невозможно, и я должен использовать другой IP для каждого TLD?
выходы apachectl -S (урезанные):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev