У меня странная ситуация, когда я хочу иметь URL-адреса app1.example.com
, example.com
и *.example.com
все с использованием другого виртуального хоста. Это то, что у меня есть (исключая example.com
, потому что это просто делает его более грязным).Виртуальный хост для поддомена подкатегорий и статический субдомен
<VirtualHost *>
ServerName app1.example.com
ServerAlias app1.example.com
DocumentRoot = /var/www/app1
# Other configuration for this app here
</VirtualHost>
<VirtualHost *>
ServerName wildcard.example.com
ServerAlias *.example.com
DocumentRoot = /var/www/wildcard
# other configuration for this app here
</VirtualHost>
Проблема в том, что они конфликтуют. Кто бы ни был указан первым, побеждает. Как я могу разместить как виртуальный хост подстановки, так и определенный?
Примечание: я не просто изменяю DocumentRoot
в конфигурации, поэтому с помощью mod_rewrite
изменить переменную DocumentRoot не исправить.
Просто вопрос, что означает 'NameVirtualHost *: 80' делать? –
Эта директива включает виртуальные хосты на основе имени и сообщает apache для прослушивания всех ip (*) на порту 80. Apache 2.2 Docs: http://httpd.apache.org/docs/2.2/en/vhosts/name-based .html –
Удалите 'NameVirtualHost *: 80': AH00548: NameVirtualHost не имеет эффекта и будет удален в следующей версии. – nerdoc