Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all articles
Browse latest Browse all 3102

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

$
0
0
Здравствуйте!

Задача в следующем:
Поймать по регулярке адрес, по регулярке его превратить в путь к файлу. Если файл есть на диске, то отдать его клиенту, если нет, то передать запрос в 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

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

Viewing all articles
Browse latest Browse all 3102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>