Проблемы с роутингом (самописный аналог ImageCache)
- Автор Atmega64 on мая 28th, 2011
Добро всем времени суток!
Сейчас пишу проект на CI, столкнулся со следующей проблемой:
Возникла необходимость в модуле наподобие друпаловского ImageCache - обработка обращений к картинкам и вывод их посредством скрипта.
Алгоритм прост: в роутах прописано
$route['[-/a-z\d]+images/[-\w]+-([\d]+x[\d]+x[\d]+x[10])\.(jpg|png|gif)'] = "image/getimg/$1/$2";
соответственно в самом модуле - проверяем есть ли картинка с таким названием и размерами (базу не трогаем), а если что - создаем её и, опять-таки, отдаём пользователю.
всё просто и понятно (хотя, конечно, напильником бы ещё поработать надо).
На тех двух серверах, к котоым у меня есть доступ, всё отлично работает.
Попробовал выгрузить на рабочий сервер (на хостинг)...
Болт. Всё, кроме оббработки картинок - работает.
А там, где идёт обращение к картинкам - 404 ошибка и всё тут.
Ковырялся-ковырялся, всё что нарыл - это то, что проблемы могут быть из-за того, что на хостинге стоит Ngnix.
(пол года назад случайно обнаружил - когда перестал работать ImageCache в друпале)
Вот и возникает вопрос: может ли быть действительно проблема в этом самом Ngnix-е и если да - можно ли её как-то разрулить?
Дело в том, что когда попробовал заменить указанный роут на принудительное
$route['(.*)/images/(.*)'] = "image/getimg/1817x133x100x1/jpg";
всё заработало. В том смысле, что везде стала выводиться эта сама картинка.
Но мне-то надо не везде. И уж тем более не одну и ту же картинку...
Может, я просто натупил с составлением роута?
Вот такие адреса у картинок (пример):
terpen.lan/ru/zephyr/article1/images/article1-1817x240x180x0.jpg
Нужна помощь людей знающих, у меня это первый проект на этом фреймворке.
Спасибо.

Аналогичная
Аналогичная проблема на хостинге c Ngnix!!! Написал в суппорт хостеру, попросил добавить в конфиг ngnix строку с регуляркой для исключения пути, начинающегося с /images/ - сразу заработало!
Отправить комментарий