.htaccess редирект с урлов вида: /?lang=ru&main=about

G
На сайте с 07.09.2010
Offline
39
3658

Как заставить работать .htaccess редирект, хочу перенести сайт-самописный на ВП. На старом сайте урлы страниц такого вида:

  • site.ru/?lang=ru&main=about
  • site.ru/index.php?lang=ru&main=catalog

новая конструкция будет вида:

  • site.ru/about.html
  • site.ru/catalog.html

Как сделать 301 редирект с старых урлов на новые? Пробовал вот так:

Redirect 301 /index.php?lang=ru&main=about /about.html

Но так не работает, при вводе урла site.ru/?lang=ru&main=about переход не происходит, открывается страница как обычно.

CN
На сайте с 29.09.2007
Offline
155
#1

mod_rewrite кажется не обрабатывает переменные. По этому ваш вариант с

Redirect 301 /index.php?lang=ru&main=about /about.html

не подходит.

Скорее всего нужно в index.php разбирать переменные и отправлять через header('Location: ').

Возможно я ошибаюсь.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#2

Для переменных надо юзать типа такое:

RewriteCond %{QUERY_STRING} lang=ru&main=(.*)

RewriteRule ^(.*)$ http://www.site.ru/$1\%1.html [R=310]

Поэкспериментируйте.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
G
На сайте с 07.09.2010
Offline
39
#3

LEOnidUKG,

дописал эти две строчки в .htaccess, при вводе указанного урла ничего нового не происходит. Может надо активировать ещё одной командой (что-то типа RewriteEngine On) обработку таких правил?

D1
На сайте с 07.10.2008
Offline
44
#4

само собой нужно активировать,

RewriteEngine On
RewriteBase /

Пользуюсь http://seo-website-designer.com/HtAccess-301-Redirect-Generator

RewriteCond %{QUERY_STRING} ^lang=ru&main=about$ [NC]
RewriteRule ^index\.php$ /about.html? [R=301,NE,NC,L]
G
На сайте с 07.09.2010
Offline
39
#5

Dima1151,

эти команды в файле уже есть, твой приведенный редирект не подошел, но поэкспериментировав с рекомендованным тобой генератором, нашел подходящее решение. Большое тебе спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий