301 редирект в wordpress

ronald
На сайте с 17.11.2005
Offline
154
918

Необходимо в wordpress сделать 301 редирект отдельных страниц.

Страницы вида http://www.site.ru/?cat=13 и http://www.site.ru/?p=13 нужно редиректить на статичные страницы вида http://www.site.ru/new_page.php.

Обычные команды вида:

Redirect 301 ?cat=13 http://www.site.ru/new_page.php

или

Redirect 301 http://www.site.ru/?cat=13 http://www.site.ru/new_page.php

не работают.

DiAksID
На сайте с 02.08.2008
Offline
236
#1

одно и то же, раз за разом 😂 RewriteCond %{QUERY_STRING} спасает

show must go on !!!...
ronald
На сайте с 17.11.2005
Offline
154
#2

Пробовал, догуглился до следующего более-менее рабочего варианта:

RewriteEngine on

RewriteCond %{QUERY_STRING} cat=13$

RewriteCond %{REQUEST_URI} </new_page.php

RewriteRule ^(.*)$ /new_page.php [R=301,L]

Перебрасывает со старой страницы на страницу с новым контентом, но урл в браузере не совсем правильный.

DiAksID, что я делаю неправильно?

Заранее спасибо.

DiAksID
На сайте с 02.08.2008
Offline
236
#3

RewriteCond %{REQUEST_URI} </new_page.php

это зачем и к чему? судя по 1-му посту REQUEST_URI должно быть (если нужно его указывать) "/", это выборка не "куда", а "откуда". и её лучше в RewriteRule засунуть, если простая регулярка..


RewriteCond %{QUERY_STRING} cat=(.+)$
RewriteRule ^(.*)$ /new_page.php?cat=%1 [R=301,L]

что то такое...

ronald
На сайте с 17.11.2005
Offline
154
#4
DiAksID:
RewriteCond %{REQUEST_URI} </new_page.php

это зачем и к чему? судя по 1-му посту REQUEST_URI должно быть (если нужно его указывать) "/"..

Согласен, и без этой строчки работает.

Немного поправлюсь, сейчас у меня вот такая картина:

RewriteEngine on

RewriteCond %{QUERY_STRING} cat=13$

RewriteRule ^(.*)$ /sub/new/ [R=301,L]

Редиректит на страницу http://www.site.ru/sub/new/?cat=13 (показывает контент новой страницы), а хотелось бы на http://www.site.ru/sub/new/.

DiAksID
На сайте с 02.08.2008
Offline
236
#5

вы для себя уточните что куда рекдтректите.

в условии выборки по QUERY_STRING ставьте регулярку, значение в RewriteRule засовываете с % и порядковым номером

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