A gravação de URL do Nginx para de passar pelo código de localização

1

Estou tentando configurar meu projeto Phalcon (framework php) no Nginx. Infelizmente não consigo fazer o trabalho de reescrita. Para entender melhor o meu problema, confira o arquivo de configuração:

server {
listen   80; ## listen for ipv4; this line is default and implied
listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

index index.html index.htm index.php;
server_name 149.21.165.142;

root '/usr/share/nginx/www';

#custom settings for phalcon project:
location ^~ /phalcon{
    alias '/usr/share/nginx/phalcon/public';

    # if file exists return it right away
    if (-f $request_filename) {
        break;
    }

    # otherwise rewrite it
    if (!-e $request_filename) {
        rewrite ^(.+)$ /index.php?_url=$1 last;
    }

    location ~ (.*\.php)(/.*)?$ {
        return 403 "Finally works.";
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/phalcon/public$fastcgi_script_name;
        include fastcgi_params;
    }
}

#default project
location ~ (.*\.php)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~ /\.ht {
    deny all;
}
}

http://149.21.165.142/phalcon/ funciona muito bem, mas depois de adicionar qualquer controlador ou ação para url, por exemplo: http://149.21.165.142/phalcon/a acaba com No input file specified. .

Depois de chegar a: rewrite ^(.+)$ /index.php?_url=$1 last; , o analisador pára de passar pelo código do /phalcon location e pula para o local em #default project comment. Então, como você pode imaginar, não encontra nenhum arquivo index.php no caminho da raiz principal e o servidor retorna o erro No input file specified .

Por que reescrever deixa de passar pelo local do falcão? Como posso consertar isso?

Espero ter descrito bem o problema. Nem o inglês nem o Nginx são meus pontos strongs.

    
por Luke 08.11.2015 / 00:47

0 respostas