2010-12-27 8 views
24

¿Cómo puedo tener la siguiente configuración en apache?Apache multiple DocumentRoot

http://server/ABC/* dar servicio mediante /var/www/ABC/*

http://server/PQR/* dar servicio mediante /var/www/PQR/*

Cada otra solicitud dar servicio mediante /var/www/Others/index.php (un solo archivo).

Gracias,

JP

+2

Para la primera parte de su pregunta: [Alias] (http://httpd.apache.org/docs/current/mod/mod_alias.html#alias) ('Alias ​​/ ABC/var/www/ABC 'etc.) Salir de DocumentRoot como/var/www/Others/ – plundra

Respuesta

1

Usted puede hacer esto con mod_alias, que es parte de la distribución Apache.

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

para servir a todo lo demás con el archivo solo se usaría mod_rewrite. Esto tiene muchas características y en función de sus necesidades puede que tenga que ajustar eso .. pero algo como esto debería funcionar:

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

que pondría eso en un archivo .htaccess en la raíz del documento.

+0

Señalando la raíz del documento a index.php, pero da advertencias al reiniciar apache, pero * funciona *. Estoy pensando si usar mod_rewrite o la sugerencia de Tabers. –

23

Uso Alias:

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

Deja la raíz del documento que apunta a /var/www/Others/index.php. Podría hacer el truco. :)

+0

¿Se puede usar esto para señalar '/' a otro directorio? p.ej. 'Alias ​​//var/www/wordpress /'? – crmpicco