Назад | Перейти на главную страницу

настройка псевдонима vhost с подстановочным знаком для домена и корня документа - корень документа не разбирается правильно

У меня лишь смутное представление о правильной терминологии, которую следует использовать в этом вопросе, поэтому, пожалуйста, не стесняйтесь помочь мне, разъяснив ее.

У меня есть настройка vhost. Идея состоит в том, что я хочу использовать подстановочный знак для маршрутизации всех запросов для root.TERM.lh к /TERM/ корень документа.

Приведенная ниже настройка правильно распознает домены и соответствующим образом направляет их, но не преобразует% 1 в корне документа в TERM. Например, журнал ошибок Apache сообщает мне, что для запроса на root.mywebsite.lh он пытается перенаправить на /Users/hollsk/Dev/websites/%1, поэтому он интерпретирует его как буквальную строку.

Мой синтаксис неверен или мне не хватает какого-то модуля?

NameVirtualHost *
<VirtualHost *>
    ServerName root.%1.lh
    ServerAlias root.%1.lh
    DocumentRoot /Users/hollsk/Dev/websites/%1/
</VirtualHost>

Этот стиль конфигурации требует использования дополнительного модуля, а не основных директив виртуального хостинга.

См. VirtualDocumentRoot здесь: http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

Мой синтаксис был немного неправильным.

NameVirtualHost *
<VirtualHost *>
    ServerName root.%2.lh
    ServerAlias root.%2.lh
    DocumentRoot /Users/hollsk/Dev/websites/%2/
</VirtualHost>

Обратите внимание %2 вместо того %1 - все еще не уверен, почему %1 интерпретировался буквально (а не как строка root, чего я и ожидал), но изменение на правильный дескриптор в любом случае устранило проблему.