Помогите с чпу

SocMaster

Профессор
Регистрация
26 Июл 2011
Сообщения
211
Реакции
49
Не могу составить правильное правило для чпу
/yamalo-neneckiy_ao_gubkinskiy/ac/ace/
в первой части можно использовать подчеркивание,дефис,цифры и буквы
вторая и третья часть,так же подчеркивание,дефис,цифры и буквы
 
Не могу составить правильное правило для чпу
Для прописания правил в .htaccess нужно знать что на что заменять.
Вы написали что-то — то ли что заменять, то ли на что заменять надо.
Напишите оба правила. И так, чтобы всем было понятно.
Как — есть.
И как — надо чтобы было.
 
Последнее редактирование:
Сейчас стоит такое правило. не рабочее
RewriteRule ^(.+)/?(\w+)?/?(\w+)?/$ index.php?g=$1&mode=search&mark=$2&model=$3&%{QUERY_STRING} [L]
(.+) - транслит города
(\w+) - марка авто (не обз)
(\w+) - модель авто (не обз)
 
Проблема в том, что по умолчанию, квантификаторы являются "жадными”.
Первая скобка захватит все её нужно поменять на (.+?)
^(.+?)/?(\w+)?/?(\w+)?/$
 
Работает..но не правильно
вот правила

RewriteRule ^(.+?)/$ index.php?g=$1 [QSA]

RewriteRule ^(.+?)/[\w\-]+[^/]$ %{REQUEST_URI}/ [R=301,QSA]
RewriteRule ^(.+?)/([\w\-]+)/$ index.php?g=$1&mark=$2 [QSA]

RewriteRule ^(.+?)/(\w+)/(\w+)/[\d]{4}\/id([\d]+)$ index.php?g=$1&mode=card&id=$4&mark=$2&model=$3 [QSA]
RewriteRule ^(.+?)/?(\w+)?/?(\w+)?/$ index.php?g=$1&mode=search&mark=$2&model=$3&%{QUERY_STRING} [L]

вместо вот этого RewriteRule ^(.+?)/$ index.php?g=$1 [QSA]
то есть такой урл /yamalo-neneckiy_ao_gubkinskiy/
срабатывает вот это правило новое
RewriteRule ^(.+?)/?(\w+)?/?(\w+)?/$ index.php?g=$1&mode=search&mark=$2&model=$3&%{QUERY_STRING} [L]
 
Код:
RewriteEngine on

RewriteRule ^([^/]+)/$ index.php?g=$1 [L,QSA]

RewriteRule ^(.+?)/[\w\-]+[^/]$ %{REQUEST_URI}/ [R=301,QSA]

RewriteRule ^([^/]+)/([\w\-]+)/$ index.php?g=$1&mark=$2 [QSA]

RewriteRule ^([^/]+)/(\w+)/(\w+)/[\d]{4}\/id([\d]+)$ index.php?g=$1&mode=card&id=$4&mark=$2&model=$3 [QSA]
RewriteRule ^([^/]+)/?(\w+)?/?(\w+)?/$ index.php?g=$1&mode=search&mark=$2&model=$3&%{QUERY_STRING} [L]
 
Назад
Сверху