Redirecionar 'foo /' para foo / bar / 'de dentro de' foo '[duplicado]

1

Eu tenho uma pasta ~/Branches/ que pode ser acessada via apache2 em localhost/~me/ . Agora tenho localhost/~me/branches_index/web/index.php que gostaria de disponibilizar em localhost/~me/branches_index/

Então, como posso redirecionar de /~me/branches_index/ para /~me/branches_index/web/ da pasta /Branches/branches_index/ ?

Eu tentei, mas não consegui.

Loop sem fim:

Redirect /~me/branches_index/ /~me/branches_index/web/

Coloque /web/ na frente:

Redirect / /web/
    
por Martin Ueding 05.02.2012 / 21:03

2 respostas

2

O redirecionamento que você está tentando está falhando porque Redirect /~me/branches_index/ /~me/branches_index/web/
redirecionará tudo de /~me/branches_index/* recursivamente.

Isso significa /~me/branches_index/what/so/ever
será redirecionado para /~me/branches_index/web/what/so/ever , assim você acaba em um ciclo interminável.

A solução é usar reescrever no arquivo .htaccess , salvo em /~me/branches_index/ .
Algo parecido com este código deve fazer o trabalho:

RewriteEngine on
RewriteCond %{REQUEST_URI} !^(.*)web/(.*)$
RewriteRule ^(.*)$ /~me/branches_index/web/$1 [NC,L]
    
por 05.02.2012 / 21:52
1

Uma maneira seria colocar isso na configuração ou .htaccess para / branches_index /

RewriteEngine On
RewriteCond %{REQUEST_URI} !^web/
RewriteRule (.*) web/$1 [QSA,L]
    
por 05.02.2012 / 21:53