Регулярное выражение для .htaccess


zac
107

Друзья, помогите составить правило для  .htaccess для переадресации старого типа страниц на новые?

Переношу ИМ на новый движок. (Сайт старый, позиции в поисковиках есть)

Старые урлы имеют вид:

Урлы категорий: /glavnaya/folder/holodilniki
Урлы товаров: /glavnaya/product/holodilnik-indesit-42942

На новом движке они же выглядят вот так:

Урлы категорий: /holodilniki
Урлы товаров: /holodilnik-indesit-42942

Какое должно быть выражение, что бы урлы где есть «/glavnaya/folder/» и «/glavnaya/product/» перенаправлялись на адреса без этого?

Нашел такое решение:

# Урлы категорий, приставка cat:
RewriteRule ^/cat-([^/]+)$ /glavnaya/folder/$1 [L,R=301]
# Урлы товаров, приставка product:
RewriteRule ^/product-([^/]+)$ /glavnaya/product/$1 [L,R=301]

Но в этом варианте получается нужно делать приставку к урлам «cat-» и «product-»  — не хотелось бы все урлы менять


jkm
zac :

Какое должно быть выражение, что бы урлы где есть «/glavnaya/folder/» и «/glavnaya/product/» перенаправлялись на адреса без этого?

RewriteRule ^glavnaya/folder/([^/]+)$  /$1 [R=301,L]
RewriteRule ^glavnaya/product/([^/]+)$ /$1 [R=301,L]


zac
jkm #:

Спасибо! 

А для урлов пагинации?

Было  /p/1 

Переадресовать на   /page-1

RewriteRule ^(.*)p/1$ ^(.*)page-2? [L,R=301]

Такая конструкция, просто перекидывает на главную


BrickLayer
А зачем вообще страницы пагинации делать? 

zac
BrickLayer #:
А зачем вообще страницы пагинации делать? 

ну типо 404 ошибок будет много

или не стоит заморачиватся?


jkm
zac #:

Было  /p/1 

Переадресовать на   /page-1

RewriteRule ^p/(d+)$ /page-$1 [L,R=301]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *