Como continuar a correspondência de localização no NGINX?

2

Eu configurei fastcgi_cache no servidor (virtual). No entanto, desejo desativar o cache da pasta wp-admin e do arquivo wp-login.php . O problema com a configuração é que quando a pasta ou o arquivo é correspondido, ele não passa o pedido para o PHP, e o NGINX serve o arquivo .php. (Eu simplifiquei o arquivo de configuração para que não seja muito grande).

fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=cache:30m;
fastcgi_cache_key "$scheme$host$uri$is_args$args";

server {
    ...

    fastcgi_cache cache;
    fastcgi_cache_valid 200 10m;

    location / {
        index index.html index.php;
    }

    location ~* ^/wordpress/(wp-login\.php|wp-admin) {
        fastcgi_cache off;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

O problema é que o PHP nunca recebe o pedido de /wordpress/wp-login.php . Como esse problema pode ser resolvido?

    
por Friend of Kim 30.07.2014 / 02:44

1 resposta

1

Tente isso:

location ~* ^/wordpress/(wp-login\.php|wp-admin) {
    fastcgi_cache off;

    location ~ \.php$ {
         fastcgi_pass   unix:/var/run/php5-fpm.sock;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }
}

location ~ \.php$ {
    fastcgi_pass   unix:/var/run/php5-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
    
por 30.07.2014 / 02:50

Tags