<-
Apache > HTTP Server > Documentation > Version 2.0 > Modules

Apache Модуль mod_vhost_alias

Description: предусматривает динамически формируемое массовое действительное оказание гостеприимства
Status: расширение
Module Identifier: vhost_alias_module
Source File: mod_vhost_alias.c

резюме

этот модуль создает динамически формируемых действительных хозяев, позволяя IP адрес и/или Host: удар головой HTTP просит использоваться как часть имени пути, чтобы определить то, что регистрирует, чтобы служить. Это учитывает легкое использование огромного числа действительных хозяев с подобными конфигурациями.

отметить

если mod_alias или mod_userdir используются для того, чтобы перевести URIs к именам файла, они отвергнут директивы mod_vhost_alias описанный ниже. Например, следующая конфигурация нанесет на карту /cgi-bin/script.pl к /usr/local/apache2/cgi-bin/script.pl во всех случаях:

ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
VirtualScriptAlias /never/found/%0/cgi-bin/

директивы

темы

см. также

top

Directory Name Interpolation

все директивы в этом модуле интерполируют вереницу в имя пути. Интерполированная вереница (впредь названный "названием") может быть любой названием сервера (см. UseCanonicalName директива для деталей на том, как это определено), или IP адрес действительного хозяина на сервере в пунктирно-квадрафоническом формате. Вставкой управляют спецификаторы, вдохновленные printf которые имеют множество форматов:

%% вставка a %
%p вставить число порта действительного хозяина
%N.M вставка (часть) название

N и M используются, чтобы определить подвереницы названия. N выборы из отделенных точкой компонентов названия, и M характеры выборов, в пределах что N выбрал. M является дополнительным и неплатежи к нолю, если это не присутствует; точка должна присутствовать если и только если M присутствует. Интерпретация следующие:

0 целое название
1 первая часть
2 вторая часть
-1 последняя часть
-2 предпоследняя часть
2+ второе и все последующие части
-2+ предпоследнее и все предыдущие части
1+ и -1+ то же самое как 0

если N или M больше, чем число частей, доступных единственное подчеркивает, интерполирован.

top

Examples

для простых действительных хозяев на основе названия Вы могли бы использовать следующие директивы в вашем файле конфигурации сервера:

UseCanonicalName Off
VirtualDocumentRoot /usr/local/apache/vhosts/%0

запрос о http://www.example.com/directory/file.html будет удовлетворен файлом /usr/local/apache/vhosts/www.example.com/directory/file.html .

для очень большого количества действительных хозяев это - хорошая идея, чтобы устроить файлы, чтобы уменьшить размер vhosts справочник. Чтобы сделать это, Вы могли бы использовать следующее в вашем файле конфигурации:

UseCanonicalName Off
VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2

запрос о http://www.domain.example.com/directory/file.html будет удовлетворен файлом /usr/local/apache/vhosts/example.com/d/o/m/domain/directory/file.html .

более даже распространенный из файлов может быть достигнут hashing с конца названия, например:

VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.-1/%2.-2/%2.-3/%2

запрос примера прибыл бы от /usr/local/apache/vhosts/example.com/n/i/a/domain/directory/file.html .

альтернативно Вы могли бы использовать:

VirtualDocumentRoot /usr/local/apache/vhosts/%3+/%2.1/%2.2/%2.3/%2.4+

запрос примера прибыл бы от /usr/local/apache/vhosts/example.com/d/o/m/ain/directory/file.html .

Для действительного оказания гостеприимства на основе IP за Вами мог бы использовать следующее в вашем файле конфигурации:

UseCanonicalName DNS
VirtualDocumentRootIP /usr/local/apache/vhosts/%1/%2/%3/%4/docs
VirtualScriptAliasIP /usr/local/apache/vhosts/%1/%2/%3/%4/cgi-bin

запрос о http://www.domain.example.com/directory/file.html был бы удовлетворен файлом /usr/local/apache/vhosts/10/20/30/40/docs/directory/file.html если IP адрес www.domain.example.com были 10.20.30.40. Запрос о http://www.domain.example.com/cgi-bin/script.pl был бы удовлетворен, выполняя программу /usr/local/apache/vhosts/10/20/30/40/cgi-bin/script.pl .

если Вы хотите включить . характер в a VirtualDocumentRoot директива, но это сталкивается с a % директива, Вы можете работать вокруг проблемы следующим образом:

VirtualDocumentRoot /usr/local/apache/vhosts/%2.0.%3.0

запрос о http://www.domain.example.com/directory/file.html будет удовлетворен файлом /usr/local/apache/vhosts/domain.example/directory/file.html .

LogFormat директивы %V и %A являются полезными в соединении с этим модулем.

top

VirtualDocumentRoot Directive

Description: динамически формируйте местоположение документа, поддерживают данного действительного хозяина
Syntax: VirtualDocumentRoot interpolated-directory |none
Default: VirtualDocumentRoot none
Context: сервер config, действительный хозяин
Status: расширение
Module: mod_vhost_alias

VirtualDocumentRoot директива позволяет Вам определять, где Apache найдет ваши документы основанными на ценности названия сервера. Результат расширения интерполированный - справочник используется как корень дерева документа в подобной манере к DocumentRoot аргумент директивы. Если интерполированный - справочник none тогда VirtualDocumentRoot выключен. Эта директива не может использоваться в том же самом контексте как VirtualDocumentRootIP .

top

VirtualDocumentRootIP Directive

Description: динамически формируйте местоположение документа, поддерживают данного действительного хозяина
Syntax: VirtualDocumentRootIP interpolated-directory |none
Default: VirtualDocumentRootIP none
Context: сервер config, действительный хозяин
Status: расширение
Module: mod_vhost_alias

VirtualDocumentRootIP директива походит VirtualDocumentRoot директива, за исключением того, что это использует IP адрес конца сервера связи для директивной вставки вместо названия сервера.

top

VirtualScriptAlias Directive

Description: динамически формируйте местоположение справочника CGI для данного действительного хозяина
Syntax: VirtualScriptAlias interpolated-directory |none
Default: VirtualScriptAlias none
Context: сервер config, действительный хозяин
Status: расширение
Module: mod_vhost_alias

VirtualScriptAlias директива позволяет Вам определять, где Apache найдет подлинники CGI в подобной манере к VirtualDocumentRoot делает для других документов. Это соответствует запросам о старте URIs /cgi-bin/ , очень как ScriptAlias /cgi-bin/ .

top

VirtualScriptAliasIP Directive

Description: динамически формируйте местоположение cgi справочника для данного действительного хозяина
Syntax: VirtualScriptAliasIP interpolated-directory |none
Default: VirtualScriptAliasIP none
Context: сервер config, действительный хозяин
Status: расширение
Module: mod_vhost_alias

VirtualScriptAliasIP директива походит VirtualScriptAlias директива, за исключением того, что это использует IP адрес конца сервера связи для директивной вставки вместо названия сервера.