Je veux traiter toutes les requêtes [GET] vers /api à partir du cache et traiter toutes les autres requêtes comme dans le dernier bloc de localisation (sans cache). Toutes les requêtes vers /api avec les méthodes PUT, POST, DELETE ne doivent pas non plus utiliser le cache.
J'ai vu une question similaire ici Proxy Nginx par méthode de requête mais je n'arrive toujours pas à comprendre comment l'utiliser dans mon cas.
Merci d'avance.
Ma configuration :
location / {
root /var/www/project/web;
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/api {
root /var/www/project/web/app.php;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/?.*)$;
include fastcgi_params;
fastcgi_cache fcgi;
fastcgi_cache_valid 200 5m;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
root /var/www/project/web;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/?.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}