Servidor virtual Apache

Servidor virtual Apache

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

LocationLas 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 Directoryentradas.

AliasLa directiva es una redirección simple, ideal para rutas largas que aparecen como punteros cortos y claros.

DocumentRootLa 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.

información relacionada