Правильность ЧПУ через mod_rewrite

[Удален]
642

Здравствуйте, есть сайт и ссылки вида:

сайт/user-reviews/index2.php?item_id=78

нужно переадресовать на:

сайт/user-reviews/id/78/

+ сделать 301 редирект старых адресов на новые. Пишу в .htaccess:

RewriteEngine on

RewriteRule ^id/([0-9]+)/? index2.php?item_id=$1 [L]

RewriteRule %{QUERY_STRING} ^item_id=([0-9]+)$
RewriteRule ^id/([0-9]+)/ [R=301,L]

Будет ли так работать?

AA
На сайте с 27.10.2011
Offline
2
#1

А что дали результаты проверки? Бегло по первым 2 строкам вроде да...

iren K
На сайте с 28.12.2008
Offline
222
#2
maxym_tkach:

Будет ли так работать?

видимо достаточно прописать


RewriteEngine on
RewriteRule id/(.*)/(.*)/$ /index2.ph?$1=$2 [L]
c уважением Iren
AA
На сайте с 27.10.2011
Offline
2
#3

Ну так то точно не будет...

gormarket
На сайте с 29.12.2010
Offline
47
#4

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^id/([0-9]+)/? index2.php?item_id=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule %{QUERY_STRING} ^item_id=([0-9]+)$
RewriteRule ^index2.php$ id/%1/ [R=301,L]

но это если Вы добавите в файл .htaccess в каталоге "user-reviews" и если там задана RewriteBase

а если в корневом каталоге сайта, то так


RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^user-reviews/id/([0-9]+)/? user-reviews/index2.php?item_id=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule %{QUERY_STRING} ^item_id=([0-9]+)$
RewriteRule ^user-reviews/index2.php$ http://%{HTTP_HOST}/user-reviews/id/%1/ [R=301,L]
Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)

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