Host Virtual Apache

Host Virtual Apache

Estou procurando fazer isso

<VirtualHost *>
    ServerName myDomain.com
    DocumentRoot /var/www/myDomain

    <Directory /var/www/myDomain>
         Rewrite on
         RewriteRule ^blog/(.*)$ /var/www/myBlog/$1 [L]
    </Directory>
</VirtualHost>

Então http://www.meuDomínio.com/blog/irá ler arquivos de um diretório diferente. O procedimento acima não funcionará, como posso fazer isso sem mover os arquivos?

Responder1

Não há necessidade do usuário mod_rewrite para isso. Aliasé mais adequado.

# 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

Se você quiser alterar as configurações apenas do seu blog, adicione umdiretiva de localização.

<Location /blog>
    Allowoverride All
</Location>

Responder2

Faça isso deste modo:

<VirtualHost *>
  ServerName myDomain.com
  DocumentRoot /var/www/myDomain
  Alias /blog/ /var/www/myBlog/
</VirtualHost>

Responder3

Locationtags são apenas um contêiner genérico para diretivas do Apache, então use-as para 'envolver' tudo o que você deseja aplicar à seção de 'visão externa' do site. Muito útil se você estiver extraindo conteúdo de vários diretórios físicos para uma estrutura maior, você pode aplicar o mesmo conjunto de regras a todos eles, em vez de ter várias Directoryentradas

Aliasdiretiva é um redirecionamento simples, ótimo para caminhos longos que aparecem como ponteiros curtos e organizados.

DocumentRootA diretiva define o principal diretório de conteúdo da web.

Todos eles lidam com diretórios, mas são um pouco diferentes. A localização serve principalmente para lidar com o que eu chamaria de 'visualização da web' - como ela é visível do lado de fora. Directory serve para a 'visão física' de como lidar com diretórios reais no sistema de arquivos. Se o conteúdo de um diretório for exibido como um URL, não haverá diferença funcional entre eles.

No entanto, uma vez que você começa a 'compor' vários diretórios, servindo-os a partir de vários URLs que não refletem necessariamente a hierarquia do sistema de arquivos, você precisa misturar e combinar todas essas diretivas para obter o efeito desejado. Só porque duas diretivas podem se comportar da mesma forma em uma situação, não significa que se comportarão da mesma maneira em outra.

informação relacionada