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