Apache Virtual Host

1

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>

Portanto, o link lerá os arquivos de um diretório diferente. O acima não funcionará assim, como posso fazer isso sem mover os arquivos?

    
por Scott 10.07.2009 / 03:34

3 respostas

7

Não há necessidade de mod_rewrite do usuário para isso. O 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 uma diretiva de local .

<Location /blog>
    Allowoverride All
</Location>
    
por 10.07.2009 / 06:02
2

Faça assim:

<VirtualHost *>
  ServerName myDomain.com
  DocumentRoot /var/www/myDomain
  Alias /blog/ /var/www/myBlog/
</VirtualHost>
    
por 10.07.2009 / 03:43
1
As tags

Location são apenas um contêiner genérico para as diretivas do Apache, portanto, use-o para "encapsular" o que você deseja aplicar à seção "exibição externa" do site. Muito útil se você estiver obtendo conteúdo de vários diretórios físicos em uma estrutura maior, poderá aplicar o mesmo conjunto de regras a todos eles, em vez de ter várias Directory entradas

A

Alias directive é um redirecionamento simples, ótimo para caminhos longos que aparecem como ponteiros curtos e limpos.

A diretiva

DocumentRoot define o diretório de conteúdo da Web principal.

Todos eles lidam com diretórios, mas são todos um pouco diferentes. A localização é principalmente para lidar com o que eu chamaria de 'visualização da web' - como é visível do lado de fora. Diretório é para a 'visão física' de 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, quando você começa a 'compor' vários diretórios, servindo-os de múltiplas URL's que não necessariamente espelham sua hierarquia de sistema de arquivos, você precisa misturar e combinar todas essas diretivas para o efeito desejado. Só porque duas diretivas podem se comportar da mesma maneira em uma situação, não significa que elas se comportarão da mesma maneira em outra.

    
por 23.07.2009 / 23:10