Como eu faço um redirecionamento .htaccess 301 de uma string de consulta?

2

Estou tentando redirecionar um URL link para link

Meu arquivo .htaccess tem esta aparência:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=106
RewriteRule / http://domain.com/\?p=110 [L,R=301]

Mas parece que não consigo dar certo.

    
por binaryorganic 08.10.2011 / 17:10

2 respostas

1

De acordo com os documentos, você precisa verificar se Options FollowSymLinks está ativado antes de tentar rewrite em .htaccess . Então, você também deve observar que o prefixo por diretório é removido automaticamente, o que significa que um padrão com ^/ nunca corresponde a nada (aposto que é por isso que seu / não funciona).

Portanto, no seu caso, verifique primeiro Options FollowSymLinks e altere o RewriteRule para algo como covener sugerido ou minha versão:

RewriteRule ^$ /?p=110
    
por 08.10.2011 / 18:13
1

RewriteRule / não corresponderia a uma solicitação para / no htaccess. O caminho com o qual você compara está vazio nesse caso (o prefixo é removido em htaccess rewriterule)

RewriteRule ^$ http://domain.com/?p=110 
    
por 08.10.2011 / 17:25