Виртуальный каталог Apache без перенаправления - PullRequest
0 голосов
/ 18 февраля 2010

Я пытаюсь получить содержимое из каталога, который не совпадает с URL-путем.Например:

  • URL: example.com/
  • путь: / www / production /

В настоящее время корневой URL-адрес извлекает содержимое из путивыше.Я хочу сделать что-то вроде этого:

  • URL: example.com/
  • путь: / www / production / root /

Итакбазовый URL «example.com» должен извлекать данные не из / www / production /, а из /www/production/root/.

Я думаю, это называется виртуальным каталогом в IIS.Есть ли что-то подобное в Apache?

Редактировать для уточнения:

У меня есть тонна существующего контента, который я пока не хочу реструктурировать.Тем не менее, корневой сайт полностью перестраивается и будет немного больше.Я хочу, чтобы у каждого микросайта был свой собственный каталог, так что запросы для example.com/ должны извлекать контент из / www / production / root /, тогда как запросы для example.com/microsite/ должны по-прежнему извлекать контент из / www / production /microsite /.

Надеюсь, это имеет больше смысла.:)

Ответы [ 2 ]

1 голос
/ 18 февраля 2010

Не совсем понятно, в чем ваша проблема. Если вы просто хотите, чтобы все URL-адреса были взяты относительно некоторого местоположения на сервере, то вы можете использовать директиву DocumentRoot:

DocumentRoot /www/production/root/

Если вы хотите, чтобы только определенные URL-адреса переходили на новое место, вы можете использовать директивы Alias или AliasMatch из модуля mod_alias. Они могут отображать либо префиксы в URL-адресе, либо URL-адреса регулярных выражений в других местоположениях сервера. Если даже этого недостаточно, вы можете использовать mod_rewrite, который допускает произвольные цепочки переписывания URL-адресов, но может быть очень неудобным для поддержки, поэтому лучше избегать этого модуля, если можете.

http://httpd.apache.org/docs/2.0/mod/mod_alias.html

0 голосов
/ 18 февраля 2010

Если я правильно понимаю ваш вопрос, то следующее, в вашей конфигурации VirtualHost, делает то, что вы просите:

ServerName example.com
DocumentRoot /www/production/root/
...