Hello! On Thu, Dec 26, 2013 at 06:14:05PM +0300, VovansystemS wrote:
[...] > > Если нужна обработка одним и тем же index.php, то в нужных > > location'ах явно указывать SCRIPT_FILENAME. > вынес в отдельные location'ы то, что требует особых параметров > кеширования, а сами настройки кеширования теперь задаются на уровне > server. Лучше ещё переделать конфиг так, чтобы fastcgi_cache был включён только там, где используется. Ибо если кеш выключен - это одно, а если он включён, но ему сказали bypass / no cache - это немного другое. В частности, при обработке HEAD-запросов, а равно условных запросов будут различия (при включённом кеше на бекенд вместо HEAD уйдёт GET, а If-* заголовки будут убраны). > > Лучше - по возможности избегать использование if'ов и rewrite'ов. > > А вот как убирать слэши в конце URI без rewrite я не смог придумать > (так, чтобы было перенаправление на URI без слэша) - есть ли какое-то > иное решение? Такие вещи лучше всего делать внутри приложения, а не на конфигах nginx'а. > Также не совсем понятно, как избавится от if, когда на то, нужно ли > кешировать (отдавать закешированный) контент, влияет несколько > факторов (есть ли определённая кука ИЛИ метод запроса post ИЛИ есть > аргументы (например)). Возможно ли и стоит ли переписать это на map'ы > и как это будет выглядеть? Как бы сделали Вы? И такие вещи лучше всего делать в рамках приложения, возвращая корректные значения Cache-Control. Впрочем, если речь идёт про fastcgi_no_cache / fastcgi_cache_bypass, то следует иметь ввиду, что эти директивы принимают несколько параметров. Подробнее тут: http://nginx.org/r/fastcgi_no_cache/ru http://nginx.org/r/fastcgi_cache_bypass/ru -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
