Sc0undRel
@Sc0undRel

Как составить регулярку для URL подкатегории?

Как правильно прописать регулярки для htaccess, чтобы открывались
site.ru/categoria/
site.ru/categoria/podcategoria/

RewriteRule ^([^.]+)/$ index.php?category=$1 [L]
RewriteRule ^([^.]+)/([^.]+)/$ index.php?category=$1&subcategory=$2 [L]


При такой записи урл site.ru/categoria/podcategoria/ создаёт GET параметр category = categoria/podcategoria

ВСЁ ВЕРНО?
RewriteRule ^(.*)/(.*)/$ index.php?category=$1&subcategory=$2 [L,QSA]
RewriteRule ^(.*)/$ index.php?category=$1 [L]
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{REQUEST_URI} ^categoria/(.*)$ 
# если строка  начинается с categoria
RewriteCond %{REQUEST_URI} !^categoria/podcategoria/(.*)$ 
# защита от цикла ! - отрицание 
RewriteRule ^(categoria/)(.*)$ /$1/podcategoria/$2 [R=301,L] 
# добавит  у всего что есть категория подкатегорию


если же тебе нужно управлять самими гет запросами то опять же тебе нужна двухуровневая конструкция из кодн и рул. в таком случае будет все проще.
просто скину пример дальше сам разберешся, если нужно хосте куда делаешь редирект использовать гет, то там экранируй вопросы, иначе не сработает. Если же нужно убрать то наоборот поставь в конце вопрс.

# 301 --- http://shop.wildorchid.ru/Catalog/StyleCard.aspx?&sale=1&shop=7&categoryid=2046&style=26778 => http://shop.wildorchid.ru/catalog/nizhnee_bele/1010-defile/
RewriteCond %{QUERY_STRING} (^|&)sale=1($|&)
RewriteCond %{QUERY_STRING} (^|&)shop=7($|&)
RewriteCond %{QUERY_STRING} (^|&)categoryid=2046($|&)
RewriteCond %{QUERY_STRING} (^|&)style=26778($|&)
RewriteRule ^Catalog/StyleCard\.aspx$ /catalog/nizhnee_bele/1010-defile/? [L,R=301]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
ФАЙВДЖЕН Москва
от 250 000 ₽
28 нояб. 2024, в 23:03
1500 руб./в час
28 нояб. 2024, в 21:25
5000 руб./за проект
28 нояб. 2024, в 18:46
3000 руб./за проект