2016-08-17 1 views
0

J'utilise Nginx et j'ai le problème que j'ai besoin d'effacer le fastcgi_cache à la demande.

Si un argument est passé au site Web ($ arg_empty_smarty_cache), un script doit s'exécuter. Ou quelque chose devrait arriver qui effacera tout le dossier de cache. En ce moment j'ai créé un nouvel emplacement pour faire ce travail, mais cette solution n'est pas assez bonne.

Des idées?

Répondre

0

Il ya the proxy_cache_purge directive qui peut faire l'affaire, mais il est disponible uniquement dans la version commerciale.

+0

En fait, cela ne fonctionnerait pas non plus. proxy_cache_purge n'est pas disponible dans un "si". La même chose avec "fastcgi_cache_purge" (http, server, location). Donc un $ arg ne peut pas correspondre – sebastiannm

+0

@sebastiannm la directive 'map' est une meilleure alternative aux blocs' if'. L'exemple dans la configuration montre comment l'utiliser avec ['fastcgi_cache_purge'] (http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_purge), vous avez juste besoin d'une carte sur votre variable' $ arg_' . – VBart