конфиг с POST можно ли оптимизировать ?

Dmitry Alekhin dmitry на ivoho.com
Вт Июл 6 14:14:08 MSD 2010


Добрый день,

От сайта требуется, что бы он обрабатывал POST запросы на URI /post при 
помощи бэкенда, но и статику расположенную в директории /post тоже 
раздавал.
Сделано так :

         location / {
             root $root;
             index  index.html index.htm ;
..
тут идет большой конфиг
..
         }

          location /post {
             if ( $request_method = POST ) {
             return 405;
             }
             root $root;
             index  index.html index.htm ;
..
такой же большой конфиг скопипасченый из /
..
         }

       location @post {
                 fastcgi_param SCRIPT_FILENAME 
/var/www/engine/post/index.php;
                 include /etc/nginx/fastcgi_params;
         }

         #
         error_page 405 =200 @post;


Все работает, но по моемому как то громоздко получается, приходится при 
изменении конфига для / править его в двух местах - в локэйшн / и 
локейшн /post.
При большом кол-ве URI для POST - например - /post, /upload, etc 
одинаковые конфиги cсделанные из / copy&paste плодятся и становятся 
громоздкими и неуправляемыми.
Можно ли как то изменить логику обработки в сторону удобства и 
читаемости ? или только include применять ?

Спасибо,
Дмитрий




Подробная информация о списке рассылки nginx-ru