301 редирект .htaccess с бывшего wp

olkaBaby
На сайте с 28.03.2013
Offline
13
553

Здравствуйте, уважаемые форумчане. Мне нужно сделать редирект после переноса сайта с wp. ЗАдача банальная, нужно uri вида /?p=4 преобразовать в /1/1/4 - это как пример. НУ или /?p=330 в /1/1/330.

Вставляю в .htaccess строку

RewriteRule /?p=(.+)$ /1/1/$1 [R=301,L]

Вообще ноль реакции при наборе адреса mysite/?p=4, показывает главную страницу, как и положено при неизвестных параметрах.

правило стоит первым сразу после RewriteBase /

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/?p=(.+)$ /1/1/$1 [R=301,L]
servercraft
На сайте с 03.07.2013
Offline
8
#1

RewriteEngine on

RewriteCond %{QUERY_STRING} p=1 [OR]

RewriteCond %{QUERY_STRING} p=[^0-9]

RewriteRule (.*) http://www.mysite.ru/$1 [R, L]

http://serverсraft.com.ua (http://servercraft.com.ua) настраиваем сервера, удаляем вирусы с сайтов
olkaBaby
На сайте с 28.03.2013
Offline
13
#2
servercraft:
RewriteEngine on
RewriteCond %{QUERY_STRING} p=1 [OR]
RewriteCond %{QUERY_STRING} p=[^0-9]
RewriteRule (.*) http://www.mysite.ru/$1 [R, L]

=

Internal Server Error

servercraft
На сайте с 03.07.2013
Offline
8
#3

лишний пробел, вот протестировано электроникой:

RewriteEngine on
Options FollowSymLinks
RewriteCond %{QUERY_STRING} ^p=([0-9]+)$
RewriteRule (.*) http://site.ru/1/1/%1? [R=301,L]
siv1987
На сайте с 02.04.2009
Offline
427
#4

RewriteEngine on

RewriteCond %{QUERY_STRING} ^p=(\d+)

RewriteRule ^$ http://www.mysite.ru/1/1/%1? [R=301,L]

olkaBaby
На сайте с 28.03.2013
Offline
13
#5
servercraft:
лишний пробел, вот протестировано электроникой:

Спасибо, это отличный вариант. Хотя уже сделала на пхп прямо в индексном файле :)

Но пожалуй воспользуюсь вашим способом. Хотя для меня осталось загадкой почему не сработал мой вариант

---------- Добавлено 17.07.2013 в 14:26 ----------

siv1987:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=(\d+) [OR]
RewriteRule ^$ http://www.mysite.ru/1/1/%1? [R=301,L]

Это вариант выдал вот что

Неверное перенаправление на странице

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

siv1987
На сайте с 02.04.2009
Offline
427
#6
olkaBaby:
Это вариант выдал вот что

Без [OR]

RewriteCond %{QUERY_STRING} ^p=(\d+)

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