Caminho de redirecionamento do Apache para o root

1

Estou tentando redirecionar o link * para o link mas toda vez que acabo com um loop de redirecionamento. O que é incorreto nisso? Nenhuma dessas duas (ou quaisquer outras combinações de expressões regulares) funciona:

RedirectMatch temp ^/.+$ http://example.com
RedirectMatch temp ^/.+$ http://example.com/

Isso é sempre correspondido e um loop de redirecionamento está sendo criado.

    
por Bruce 13.11.2013 / 18:29

2 respostas

0

Assim, você quer que qualquer coisa que não seja a raiz absoluta em example.com redirecione temporariamente para example.com . Se assim for, sugiro que tente isto:

RewriteEngine on
RewriteRule ^(.*)$ / [L,R=307]

Ou talvez isso:

RewriteEngine on
RewriteRule ^.+$ / [R=307,NC,L]

EDITAR: Se você precisar adicionar uma barra ao URL, você pode fazer isso; usando meu segundo exemplo acima:

# Settings for adding a trailing slash to the URL
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}$1/ [R=301,L]

RewriteEngine on
RewriteRule ^.+$ / [R=307,NC,L]

Além disso, este site tem uma boa / concisa explicação de qual é a diferença entre RedirectMatch (mod_alias) e RewriteRule (mod_rewrite).

    
por 13.11.2013 / 18:52
0

RedirectMatch temp (example.com)/.*$ $1/

    
por 13.11.2013 / 18:54