Вот что вам нужно использовать
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z0-9\-_]+)/?$ index.php?part=$1&type=all&model=all&page=index [L,NC]
RewriteRule ^([a-z0-9\-_]+)/([a-z0-9\-_]+)/?$ index.php?part=$1&type=$2&model=all&page=index [L,NC]
RewriteRule ^([a-z0-9\-_]+)/([a-z0-9\-_]+)/([a-z0-9\-_]+)/?$ index.php?part=$1&type=$2&model=$3&page=index [L,NC]
RewriteRule ^([a-z0-9\-_]+)/([a-z0-9\-_]+)/([a-z0-9\-_]+)/([a-z0-9\-_\.]+)\.html$ index.php?part=$1&type=$2&model=$3&page=$4 [L,NC]
Поэтому, когда папка (например, CERAMIC) не предоставлена, вы можете добавить флаг для загрузки всех, та же идея для модели.Это означает, что если указана только первая часть, то будет использоваться первое правило.Начиная с page.html
по умолчанию, вы можете загрузить индекс.
Теперь a-z0-9\-_
означает ТОЛЬКО любые буквы, цифры, тире и подчеркивание.Вы можете использовать ([^/]+)
, если вы предпочитаете, что позволит вам использовать больше символов.
L означает last
, означающее, что если правило соответствует, оно остановится.NC означает не регистр, поэтому A = a или ABC = abc.