где-то ошибка в mod_rewrite

W
На сайте с 31.05.2006
Offline
31
470

Есть код в .htaccess:

RewriteCond %{REQUEST_URI} ^/(.*)/(.*)/(.*)/(.*)/

RewriteRule ^(.*)/(.*)/(.*)/(.*)/$ /$1.cgi?cat=$2&name=$3&id=$4

RewriteCond %{REQUEST_URI} ^/(.*)/(.*)/

RewriteRule ^(.*)/(.*)/$ /$1.cgi?cat=$2

RewriteCond %{REQUEST_URI} ^/[a-zA-Z0-9\-]+/

RewriteRule ^(.*)/$ /$1.cgi

проблема в том, что всё работает, но когда обрабатываются страницы, попадающие под первый кондишн, то почему-то обрабатывает такие страницы (такой вложенности) не первое, а второе правило :confused:

Причём, если убрать вообще первое правило, (не конлдишн), то апач ругается, мол не может обработать запрос...

Нид хелп :) может есть какие соображения?

Заранее спасибо.

Gleb
На сайте с 13.03.2006
Offline
46
#1

Может попробовать так:

websurferr:
RewriteCond %{REQUEST_URI} ^/(.*)/(.*)/
RewriteRule ^(.*)/(.*)/$ /$1.cgi?cat=$2 [L]

Точно не уверен, но думаю должно помочь :)

M
На сайте с 20.08.2004
Offline
376
#2

избавьтесь от

(.*)
ведь это всегда можно замнить на что то подобное
([0-9a-z])

ну и если там спец символы какие-то

([-_0-9a-z])
отец сыночка, лапочки дочки и еще одного сыночка
W
На сайте с 31.05.2006
Offline
31
#3
Gleb:
Может попробовать так:

не дало результата... но совет Миракла помог )

Miracle:
избавьтесь от ...

респект! заработало ) пасиб

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий