301 redirecionar link personalizado

1

Eu tenho alguns milhares de links como este

/Gallery?cmd=viewCarGallery&carID=3747&pgID=1

Agora eu quero redirecioná-los usando o link .htaccess para outro site para outros. Cada link será redirecionado para seu próprio link de destino. Eu tentei assim

Redirect 301 /Gallery?cmd=viewCarGallery&carID=3747&pgID=1 http://example.com/gallery/fcar_gallery

Mas não está funcionando. Eu habilitei o mod_rewrite no meu servidor e o redirecionamento está funcionando perfeitamente.

    
por SCnet 27.04.2016 / 21:05

1 resposta

0

Querystring não faz parte da correspondência na diretiva Redirect, para redirecionar as strings de consulta, você precisa usar a mod-rewrite da seguinte forma:

opção 1

RewriteEngine on

RewriteCond %{THE_REQUEST} /Gallery\?cmd=viewCarGallery&carID=3747&pgID=1  [NC]
RewriteRule ^ http://example.com/gallery/fcar_gallery? [NC,L,R]

opção 2

RewriteEngine on

RewriteCond %{QUERY_STRING} ^cmd=viewCarGallery&carID=3747&pgID=1  [NC]
RewriteRule ^ http://example.com/gallery/fcar_gallery? [NC,L,R]

Usamos um ponto de interrogação vazio ? no final do URL de destino para descartar as strings de consulta antigas. Caso contrário, essas strings de consulta serão exibidas no URL de destino por padrão.

Altere o R para R = 301 se quiser tornar o redirecionamento permanente.

[Testado no apache2 e 2.4]

    
por 30.04.2016 / 17:56