Arquivo PHP baixado em vez de executado com nginx try_files

2

Estou usando o Ubuntu 14.10, nginx 1.6.2, php 5.5.12. Eu tenho um site configurado assim:

server {
    root /usr/share/nginx/www/oliviataussig;
    index index.php;

    server_name oliviataussig.com www.oliviataussig.com;

    location / {
        try_files $uri $uri/ /index.php =404;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi.conf;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Quando vou para a página inicial (index.php), funciona bem. No entanto, quando eu clico em qualquer um dos links na página (este é um CMS semelhante ao WordPress) eu quero voltar para /index.php , e isso, mas index.php é baixado em vez de executado. Como faço para corrigir isso?

    
por nnyby 20.11.2014 / 01:38

2 respostas

2

Como Hrvoje sugeriu, o Wordpress - > codex Nginx dá exemplos na maioria das situações possíveis ( link )

No seu caso, o arquivo de configuração deve se parecer abaixo:

server {
    root /usr/share/nginx/www/oliviataussig;
    index index.php;

    server_name oliviataussig.com www.oliviataussig.com;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # Add trailing slash to */wp-admin requests.
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;


    # Pass all .php files onto a php-fpm/php-fcgi server.
    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
        include fastcgi.conf;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}
    
por 20.11.2014 / 11:30
0

É necessário LIMPAR O CACHE do seu navegador para ver os resultados com a próxima linha.

location / {
    try_files $uri $uri/ /index.php?$args;
}
    
por 14.01.2015 / 14:27