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

Имена каталогов поддоменов с подстановочными знаками

В моей конфигурации Apache есть следующее:

<VirtualHost *:80>
  VirtualDocumentRoot /var/www/hosts/%0
  ServerAlias *.test.galapagos.office
</VirtualHost>

В / var / www / hosts у меня есть каталог jason.test.galapagos.office и каталог bill.test.galapagos.office. Если я перейду на jason.test.galapagos.office в браузере, я получаю то, что ожидаю увидеть. То же и со счетом. Другими словами, все работает отлично.

Однако меня не совсем устраивает то, что происходит. Вместо /var/www/hosts/jason.test.galapagos.office и /var/www/hosts/bill.test.galapagos.office/ я бы хотел / home / jason / web и / home / bill / web .

Как я могу указать Apache для сопоставления с этими подкаталогами?

Спасибо Джейсон

Попробуй это:

<VirtualHost *:80>
  #VirtualDocumentRoot /var/www/hosts/%0
  VirtualDocumentRoot /home/%1/web
  ServerAlias *.test.galapagos.office
</VirtualHost>

Я полагаю, что будут отправлены запросы на «jason.test.galapagos.office» на «/ home / jason / web»

Полный список директив VirtualDocumentRoot можно найти здесь:

http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

0     the whole name
1     the first part
2     the second part
-1    the last part
-2    the penultimate part
2+    the second and all subsequent parts
-2+   the penultimate and all preceding parts
1+ and -1+     the same as 0

Может ли это изменение сработать?

VirtualDocumentRoot /home/%0/web

Или вы можете рассмотреть возможность включения mod_userdir, который по умолчанию будет выглядеть как http://test.galapagos.office/~bill/