Apache несколько DocumentRoot

Как я могу установить следующую настройку в apache?

http://server/ABC/* должен обслуживать /var/www/ABC/*

http://server/PQR/* должен обслуживать /var/www/PQR/*

Каждый второй запрос должен обслуживаться /var/www/Others/index.php (одним файлом).

Спасибо,

JP


person Community    schedule 27.12.2010    source источник
comment
Для первой части вашего вопроса: Псевдоним (Alias /ABC /var/www/ABC и т. д. .) Оставить DocumentRoot как /var/www/Others/   -  person plundra    schedule 27.12.2010


Ответы (2)


Использовать псевдоним:

Alias /ABC/ /var/www/ABC/
Alias /PQR/ /var/www/PQR/

Оставьте корень документа, указывающий на /var/www/Others/index.php. Это может помочь. :)

person Taber    schedule 27.12.2010
comment
Можно ли это использовать для указания / на другой каталог? например Alias / /var/www/wordpress/? - person crmpicco; 11.09.2017

Вы можете сделать это с помощью mod_alias, который является частью дистрибутива Apache.

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

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

RewriteEngine on
RewriteRule ^(.*)$ /index.php?path=$1 [L]

вы бы поместили это в файл .htaccess в корне документа.

person Bastian    schedule 27.12.2010
comment
Указывает корень документа на index.php, но выдает предупреждения при перезапуске apache, но работает. Я думаю, использовать ли mod_rewrite или предложение Tabers. - person ; 29.12.2010