mod_rewrite запара с / в регулярном выражении

kos

Новичок
mod_rewrite запара с / в регулярном выражении

как показали эксперименты / нельзя включить в [] и . тоже с ним не совпадает.
нужно менять пути файлов с одинарной и двойной вложенностью т.е.
http://work/reg/pictures/items/item_03.gif
на http://work/pictures/items/item_03.gif
и
http://work/reg/images/logo_01.gif
на http://work/images/logo_01.gif

использую
RewriteRule ^\w+/(\w+/\w+\.\w+)$ $1
RewriteRule ^\w+/(\w+/\w+/\w+\.\w+)$ $1
порознь работают как надо, но если вместе, то одинарная - нормально, а двойная выдаёт
http://work/items/item_03.gif
независимо от порядка следования правил

кто знает, как это вылечить или почему не работает
RewriteRule ^\w+/(.+\.\w+)$ $1
 

zerkms

TDD infected
Команда форума
не работает - потому что ты сам для себя не можешь сформировать критерий для реврайта
вот есть у тебя правила:

1. RewriteRule ^\w+/(\w+/\w+\.\w+)$ $1
2. RewriteRule ^\w+/(\w+/\w+/\w+\.\w+)$ $1

ты даёшь на вход reg/pictures/items/item_03.gif
срабатывает правило 2, переписывает его в pictures/items/item_03.gif
далее, срабатывает правило 1, переписывает полученный в предыдущем шаге урл в items/item_03.gif
и отдаёт его тебе на выход.

решение - сначала определиться с логикой переписывания урлов, а уже затем садиться за написание соответствующих RewriteRule (и RewriteCond наверное)

ps: не уверен - но попробуй переставить правила 1 и 2 местами и поставить [L] - хотя не должно помочь ;)
 
Сверху