помогите сделать редирект http://site.com/category?p=1 на http://site.com/category

Dekrua

Мой дом здесь!
Регистрация
25 Июн 2014
Сообщения
258
Реакции
360
RewriteEngine on
RewriteBase /
RewriteRule category?p=\d{3000,} Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]

попробуй так
пс: это в том случае, если я тебя правильно понял. Ты же написал для p=1 нужно а p=2 нет...
 
т.е. тебе нужно любое слово у которого окончание p=1?
RewriteEngine on
RewriteBase /
RewriteRule (.*)?p=1 Для просмотра ссылки Войди или Зарегистрируйся$1) [R=301,L]

тогда так пробуй
 
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(p=1)$
RewriteRule ^(.*)%1 /$1/ [R=301,L]

Только проверяй открыв режим инкогнито. Браузер кеширует и может старое правило, как бы срабатывать
 
Последнее редактирование:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(p=1)$
RewriteRule ^(.*)%1 /$1/ [R=301,L]

Только проверяй открыв режим инкогнито. Браузер кеширует и может старое правило, как бы срабатывать
Вообще не реагирует
 
Redirect 301 Для просмотра ссылки Войди или Зарегистрируйся Для просмотра ссылки Войди или Зарегистрируйся
Это директива mod_alias. Из адреса /path?query с шаблоном сравнивается только /path.
Остальные варианты не работают т.к. в RewriteRule передается не ссылка, а путь до запрошенного файла. Так что GET параметров там нет, а искать их следует в %{QUERY_STRING}.
По mod_rewrite есть хорошоя статья Для просмотра ссылки Войди или Зарегистрируйся
Код:
RewriteCond %{QUERY_STRING} ^p=1$
RewriteRule ^(.*)$ /$1? [R=301,L]
Ну и не забывать ставить редиректы выше правил для ЧПУ.
 
Назад
Сверху