2013-06-14 3 views
0

У меня есть этот возможный путь к изображениям:Rewrite правила - перенаправить динамический URL в подкаталог без петли

/media/thumbnail/img.jpg
или
/media/thumbnail/product/img.jpg
или
/media/thumbnail/product/some-text/img.jpg

Все должны быть перенаправлены на:
/media/thumbnail/uploads/img.jpg

Я попытался это:

RewriteCond %{REQUEST_FILENAME} \.(png|jpg|jpeg|gif)$ 
RewriteRule ^/media/(.*)/(.*)$ /media/$1/uploads/$2 [L,R] 

, но я получаю сообщение об ошибке загрузке страницы из-за петлю, поэтому мне нужно остановиться, если путь содержит папку под названием загружает.

EDIT:
Там другая проблема, правило я прошу сусло работы с этим одним:

RewriteCond% {REQUEST_FILENAME} (PNG | JPG | JPEG | GIF) $
RewriteRule.^(. *) $ добавления/$ 1 [L, NC, QSA]

Какие перенаправляет /img.jpg к /upoloads/img.jpg

Спасибо заранее

ответ

0

RewriteRule в вашем .htaccess не соответствует ведущей косой чертой.

Изменить код:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^[^./]+\.(?:png|jpe?g|gif)$ /uploads%{REQUEST_URI} [L,NC] 

RewriteCond %{REQUEST_FILENAME} /(?=[^/]*$)([^.]+\.(?:png|jpe?g|gif))$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^media/([^/]+)/(.*)$ /media/$1/uploads/%1 [L,R] 
+0

Это не решает проблему, так или иначе цикл –

+0

сделал правку, попробуйте сейчас. – anubhava

+0

Теперь лучше: OK /media/thumbnail/img.jpg -> /media/thumbnail/uploads/img.jpg -------- NO/media/thumbnail/some-text/img .jpg -> /media/thumbnail/uploads/img.jpg –

Смежные вопросы