Назад | Перейти на главную страницу

301 перенаправить пользовательскую ссылку

У меня есть несколько тысяч таких ссылок

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

Теперь я хочу перенаправить их с помощью .htaccess на другой сайт по ссылке других. Каждая ссылка будет перенаправлена ​​на свою целевую ссылку. Я пробовал вот так

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

Но не работает. Я включил mod_rewrite на моем сервере, и другое перенаправление работает отлично.

Строка запроса не является частью соответствия в директиве Redirect, чтобы перенаправить строки запроса, вам необходимо использовать мод-перезапись следующим образом:

Опция 1

RewriteEngine on

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

вариант 2

RewriteEngine on

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

Используем пустой вопросительный знак ? в конце целевого URL-адреса, чтобы отказаться от старых строк запроса, в противном случае эти строки запроса добавляются к целевому URL-адресу по умолчанию.

Изменить р к R = 301 если вы хотите сделать перенаправление постоянным.

[Проверено на apache2 и 2.4]