URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7281
[ Назад ]

Исходное сообщение
"Правильное выражение для mod_rewrite"

Отправлено dios , 27-Июн-11 17:06 
Есть задачка, заставить rewrite, передлеывать кривые ссылки в картинках. Не могу подобрать верную регулярку (не силен в них).

Есть рабочий сайт и рабочий .htaccess, внутри примерно следующее:

RewriteCond %{REQUEST_FILENAME} !-f                                                                                                
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Тут вроде как все ОК, строка вида <sitename>/folder/file.html преобразуется как надо.
Когда дело доходит до картинок (с верными ссылками), то все верно тоже: проверяется exist файла (по Cond), если он есть - то открываем.

Теперь проблема:

90% картинок сайта забито в CMS с относительными ссылками ("images/file"). Движок работает со "вложенными" friendly URL. Когда получается URL: <sitename>/folder/folder/file.html, то понятное дело, картинка пытается "найтись" в /folder/folder, хотя должна искаться от корня (/).

Хотелось бы попросить пример, как заменять ссылку вида

/folder/folder/images/subimages/image.xxx
на
/images/subimages/images.xxx

т.е. как отсечь все что до /images, и редиректнуть туда?


Содержание

Сообщения в этом обсуждении
"Правильное выражение для mod_rewrite"
Отправлено PavelR , 27-Июн-11 19:32 
> Теперь проблема:
> 90% картинок сайта забито в CMS с относительными ссылками ("images/file"). Движок работает
> со "вложенными" friendly URL. Когда получается URL: <sitename>/folder/folder/file.html,
> то понятное дело, картинка пытается "найтись" в /folder/folder, хотя должна искаться
> от корня (/).

Исправьте шаблоны CMS + возможно надо добавить подстановку / в неких местах кода.
Это правильнее, поскольку начнет работать кэширование изображений в браузерах и проксях, меньше операций обработки запроса, меньше трафик, меньше нагрузка на проц, и т д и  т п