2012-04-23 3 views
4

У меня есть один проект, который размещается в Apache под конкретный субдомен:Apache: Как обслуживать путь из другого каталога без символической ссылки?

<VirtualHost *:80> 
    ServerName dev.example.com 
    DocumentRoot /web/vhosts/dev.example.com 
    <Directory /> 
     Allow from all 
    </Directory> 
</VirtualHost> 

Я хочу служить еще один проект в подкаталоге этого домена:

dev.example.com/special-project 

Который живет в /web/vhosts/special-project. Я также не могу просто создать символическую ссылку на этот каталог из-за того, как структурирован исходный проект. Он должен быть настроен только с помощью Apache.

Как настроить Apache для этого? Кроме того, может ли этот тип конфигурации указываться в отдельном файле или он должен быть частью исходного определения VirtualHost?

ответ

9

Используйте Alias.

Alias /special-project/ /web/vhosts/special-project/ 
+0

Я пробовал это, и он, похоже, не работал. Все файлы в этом каталоге статичны, поэтому, если бы я хотел http://dev.example.com/special-project указать файл index.html в этом каталоге ... что мне нужно сделать? – Andrew

+0

Ahh ... nevermind ... Я не добавлял конечную косую черту в путь к каталогу. По-видимому, это необходимо. Я также удалил конечную косую черту в пути подкаталога, и это делает конечную косую черту в URL необязательной. – Andrew

+0

DONT FORGET TRAILING SLASH! – Andy

-1

Просто добавьте еще один виртуальный хост, как:

<VirtualHost *:80> 
    ServerName special-project.example.com 
    DocumentRoot /web/vhosts/special-project 
    <Directory /> 
     Allow from all 
    </Directory> 
</VirtualHost> 
+0

не добавляет это, поскольку субдомен требует обновления некоторых записей DNS? Я пытаюсь избежать этого, сделав его подкаталогом (а не поддоменом). – Andrew

+0

Тогда решение @unbeli - это то, что вы ищете :) – Silviu

Смежные вопросы