Перенаправление URL 301 через файл .htaccess в php

1
www.example.com/products/223/category/sub_category/product_name.html

RewriteRule ^products/([^/]+)/([^.]+)\.html$ /$2/p$1 [L,NC,R=301]

Вышеупомянутое правило перенаправления перенаправляет меня ниже URL.

www.example.com/category/sub_category/product_name/p223

Я хочу обновить его, чтобы он перенаправлялся из

www.example.com/products/223/category/sub_category/product_name.html

в

www.example.com/product-name/p223

Я хочу показать имя продукта ("_" должен заменить "-") и идентификатор продукта с префиксом "P".

Теги:
.htaccess
redirect

2 ответа

0
Лучший ответ

Следующая перенаправление работает для меня.

RewriteRule ^products/(\d+)/(.*)/(.*)/([^_]+)_([^.]+).html$ /$4-$5/p$1 [L,NC,R=301]
0

Попробуй это:

RewriteEngine On
RewriteRule ^/?product/([^/]+)/([^/]+)/([^/]+)/([^_]+)_([^.]+)\.html$ http://example.com/$4-$5/p$1 [NC,R=301,L]

Это перенаправляет:

 www.example.com/products/223/category/sub_category/product_name.html

к

 www.example.com/product-name/p223
  • 0
    спасибо за ответ, я забыл упомянуть, но категория и подкатегория также являются динамическими в URL.
  • 1
    Спасибо за ваш ответ. ПереписатьRule ^ products / (\ d +) / (. *) / (. *) / ([^ _] +) _ ([^.] +). Html $ / $ 4- $ 5 / p $ 1 [L, NC, R = 301] Это сработало для меня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню