Welcome! Log In Create A New Profile

Advanced

проверка файла после изменения адреса

June 01, 2015 12:19PM
Здравствуйте!

Задача в следующем:
Поймать по регулярке адрес, по регулярке его превратить в путь к файлу. Если файл есть на диске, то отдать его клиенту, если нет, то передать запрос в index.php

#перехватываю запрос
location = ^/news.*\.jpg$ {
#превращаю запрос в путь к файлу
rewrite ^/news/[\w\-_]+/([\w\-_]+)\-(\d+x\d+x[p|i])-(\d+)\.jpg$ /data/cache/news/$3/$1-$2\.jpg break;
#проверяю есть ли он на диске, если нет, то отдаю в index.php
}

location = ^/data/cache/news/.* {
try_files $uri /index.php;
}

Например алгоритм такой:
1. Получаю запрос: /news/test/test-100x100xp-10.jpg
2. Сработал location
3. Этот запрос преобразовался в /data/cache/news/10/test-100x100xp.jpg
4. Проверка файла на наличие на диске
4.1 Файл есть - отдаем клиенту
4.2 Файла нет - отдаем обработку в index.php

Испробовал кучу вариантов, но так толком ничего и не добился. Помогите, пожалуйста.
Subject Author Posted

проверка файла после изменения адреса

AlexsnderS June 01, 2015 12:19PM

Re: проверка файла после изменения адреса

Илья Шипицин June 01, 2015 01:42PM

Re: проверка файла после изменения адреса

AlexsnderS June 02, 2015 11:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 211
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready