Re: проверка файла после изменения адреса
Илья Шипицин
chipitsine at gmail.com
Mon Jun 1 17:41:39 UTC 2015
root /data/cache;
location / {
try_files $uri $uri/ @fallback;
index index.php index.html index.htm;
}
location ~ \.php$ {
try_files $uri @fallback;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
location @fallback {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}
1 июня 2015 г., 21:19 пользователь AlexsnderS <nginx-forum at nginx.us> написал:
> Здравствуйте!
>
> Задача в следующем:
> Поймать по регулярке адрес, по регулярке его превратить в путь к файлу. Если
> файл есть на диске, то отдать его клиенту, если нет, то передать запрос в
> 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
>
> Испробовал кучу вариантов, но так толком ничего и не добился. Помогите,
> пожалуйста.
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259310,259310#msg-259310
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru