The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
nginx location rewrite, !*! гость, 26-Ноя-13, 18:54  [смотреть все]
Приветствую всех.

Как настроить location в nginx так, чтобы
для get-запросов вида /index.php?p1=val1&p2=val2&p3=val3
проверять существует ли файл /tmp/val1_val2_val3
если такой есть, то отдаем его, иначе отправляем к бэкенду php-fpm

Спасибо.

  • nginx location rewrite, !*! erera22, 19:11 , 27-Ноя-13 (1)
    > Приветствую всех.
    > Как настроить location в nginx так, чтобы
    > для get-запросов вида /index.php?p1=val1&p2=val2&p3=val3
    > проверять существует ли файл /tmp/val1_val2_val3
    > если такой есть, то отдаем его, иначе отправляем к бэкенду php-fpm
    > Спасибо.

    Если решать задачу в лоб, то как-то так:

    location ~ /index.php {
      if ($args ~* "p1=val1&p2=val2&p3=val3") {
        rewrite ^ /static/$arg_p1/$arg_p2/$arg_p3 last;
      }
    }

    location ~ ^/static/(.*)/(.*)/(.*)$ {
      root "/tmp";
      set $filename $1_$2_$3;
      try_files /123/$filename @backend;
    }

    location @backend {
      proxy_pass ...
    }


    Хотя косячно, на @backend придется получать изначальное значение $filename.

    • nginx location rewrite, !*! гость, 20:10 , 28-Ноя-13 (2)
      > Хотя косячно, на @backend придется получать изначальное значение $filename.

      Так файл скрипта всегда index.php, или портится вся строка запроса с get-параметрами?
      Благодарю за помощь.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру