Вот что вы можете сделать:
RewriteEngine On
RewriteBase /
Вы можете использовать это для общей функциональности:
RewriteRule ^([^/]+)$ index.php?section=$1 [L,NC]
RewriteRule ^([^/]+)/([0-9]+)$ index.php?section=$1&pagenum=$2 [L,NC]
По умолчанию вы не хотите отображать продукт безимя (при условии, что вы хотите SEO URL)
Теперь для конкретной страницы:
RewriteRule ^([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/?$ product.php?section=$1&id=$2&name=$3 [L,NC]
Обратите внимание на имя файла здесь.Потому что, если у вас есть 3 элемента (раздел / идентификатор / имя), это означает, что вы хотите отобразить продукт.
А теперь, специфичный для списка / заказа
RewriteRule ^([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/(asc|desc)/?$ list.php?section=$1&pagenum=$2&sortcolumn=$3&orderby=$4 [L,NC]
Обратите внимание также на имя файла здесь.Если вы добавляете desc или asc в конце URL, это означает, что вы отобразите список продуктов.Эти последние параметры позволят переключаться между товарами и списком товаров.Конечно, вы должны постоянно использовать ключевое слово asc
или desc
.Другой альтернативой, которую вы можете использовать, является использование слова list
или любого другого соответствующего имени для отображения примера списка:
RewriteRule ^list/([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/(asc|desc)?$ list.php?section=$1&pagenum=$2&sortcolumn=$3&orderby=$4 [L,NC]
В этом случае все правила, начинающиеся с list
, будут отображать списокпродуктов, а не сам продукт