Estoy buscando hacer esto
<VirtualHost *>
ServerName myDomain.com
DocumentRoot /var/www/myDomain
<Directory /var/www/myDomain>
Rewrite on
RewriteRule ^blog/(.*)$ /var/www/myBlog/$1 [L]
</Directory>
</VirtualHost>
Entonces http://www.miDominio.com/blog/leerá archivos de un directorio diferente. Lo anterior no funcionará, ¿cómo puedo hacer esto sin mover los archivos?
Respuesta1
No es necesario utilizar mod_rewrite para esto. Aliases más adecuado.
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
Alias /blog /var/www/myBlog
Si desea cambiar la configuración solo para su blog, agregue undirectiva de ubicación.
<Location /blog>
Allowoverride All
</Location>
Respuesta2
Hazlo asi:
<VirtualHost *>
ServerName myDomain.com
DocumentRoot /var/www/myDomain
Alias /blog/ /var/www/myBlog/
</VirtualHost>
Respuesta3
Location
Las etiquetas son solo un contenedor genérico para las directivas de Apache, así que úselo para "ajustar" lo que quiera aplicar a esa sección de "vista externa" del sitio web. Muy útil si extrae contenido de varios directorios físicos en una estructura más grande, puede aplicar el mismo conjunto de reglas a todos ellos, en lugar de tener varias Directory
entradas.
Alias
La directiva es una redirección simple, ideal para rutas largas que aparecen como punteros cortos y claros.
DocumentRoot
La directiva establece el directorio de contenido web superior.
Todos ellos tratan con directorios, pero todos son un poco diferentes. La ubicación sirve principalmente para abordar lo que yo llamaría la "vista web": cómo es visible desde el exterior. Directorio es para la 'vista física' de tratar con directorios reales en el sistema de archivos. Si el contenido de un directorio se muestra como una URL, entonces no existe una diferencia funcional entre ellos.
Sin embargo, una vez que comienza a 'componer' múltiples directorios, sirviéndolos desde múltiples URL que no necesariamente reflejan la jerarquía de su sistema de archivos, necesita mezclar y combinar todas estas directivas para lograr el efecto deseado. El hecho de que dos directivas puedan comportarse igual en una situación no significa que se comportarán de la misma manera en otra.