Я пытаюсь перенести свои виртуальные хосты в базу данных mysql, используя vhost_dbd_module.
В различных примерах, которые я нахожу в Интернете, мне предлагают использовать «ServerName *» в качестве подстановочного знака в VirtualHost.
Когда я настраиваю свой VirtualHost таким образом, сервер по умолчанию просто возвращается к DocumentRoot по умолчанию. Он не запрашивает базу данных mysql.
<VirtualHost *:80>
# catch all other requests that don't get caught above
ServerName *
# fallbackDocumentRoot in case mysql server is down
DocumentRoot /var/html/404
DBDriver mysql
DBDParams "host=<hostname> user=<user> dbname=<dbname>"
DBDocRoot "SELECT documentRoot FROM virtualhosts WHERE serverName = %s" HOSTNAME
</VirtualHost>
Однако, когда я изменяю его на это (указываю имя сервера на domain.tld), он работает правильно (запрашивает базу данных для domain.tld и возвращает правильный документ для domain.tld)
<VirtualHost *:80>
# catch all other requests that don't get caught above
ServerName domain.tld
# fallbackDocumentRoot in case mysql server is down
DocumentRoot /var/html/404
DBDriver mysql
DBDParams "host=<hostname> user=<user> dbname=<dbname>"
DBDocRoot "SELECT documentRoot FROM virtualhosts WHERE serverName = %s" HOSTNAME
</VirtualHost>
Любые идеи, что неправильно настроено?