Como obter o Apache2 para redirecionar para um subdiretório

58

Estou executando o apache2 no Debian etch, com vários hosts virtuais.

Eu quero redirecionar para que http://git.example.com vá para http://git.example.com/git/

Deve ser bem simples, mas o Google não está conseguindo. Eu tentei o redirecionamento e reescrever coisas e eles não parecem fazer o que eu quero ...

    
por Hamish Downer 19.05.2009 / 19:20

4 respostas

104

Sinta-se um pouco bobo - um pouco mais pesquisando apareceu a resposta que eu procurava:

RedirectMatch ^/$ /git/

Basicamente redirecionando a raiz e somente a raiz.

Esse código pode fazer em um arquivo .htaccess (existe uma tag para isso, então presumo que seja o caso de uso original). Mas se você pode editar, o servidor principal apache config, em seguida, colocá-lo na seção para o seu site, provavelmente, dentro de uma seção <VirtualHost> .

Os documentos do RedirectMatch dizem que o context pode ser "configuração do servidor, host virtual, diretório, .htaccess".

    
por 19.05.2009 / 19:23
3

Você tem a resposta correta com o redirecionamento. Você tem que ter cuidado ao redirecionar tudo para outro lugar, já que você pode obter redirecionamentos recursivos lá. Isso acontece se você quiser colocar uma página de manutenção.

    
por 11.06.2009 / 17:59
3

Você pode usar a diretiva Redirect.

<Directory />
   Redirect permanent / http://git.example.com/git/
   ...
</Directory>
    
por 25.09.2009 / 20:57
0

A resposta aceita resolveu meu problema, mas eu também achei que tinha que adicionar um redirecionamento 404 para páginas inexistentes - minha situação é que tem uma instalação OwnCloud localizada um nível abaixo da raiz ( link ).

Isso funcionou para mim, para enviar tudo para meu subdiretório:

# redirect from root to subdirectory
RedirectMatch ^/$ /thesubdirectory/

# redirect on 404 to subdirectory
ErrorDocument 404 /thesubdirectory/index.php
    
por 11.09.2016 / 23:29