Problemas com Nginx e php5-fpm

0

Eu tenho a próxima configuração do nginx, url /website/blog/index.php funciona, mas url / website / blog / não funciona

server {
    listen 80;
    root /var/www/site;
    index index.html index.htm index.php;
    server_name site.com;

    rewrite_log on

    #IMPORTANT
    location ~ /.*(\.py|\.ini)$ {
        deny all;
    }

    location ^~ /website/blog/ {
        rewrite ^.*$ /website/blog/index.php$request_filename last;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}
    
por Adrian B 21.01.2015 / 12:49

1 resposta

0

Por seu comentário, isso realmente parece ser um problema básico de sintaxe. No futuro, eu sugeriria executar nginx -t (sem sudo ) para exibir erros de configuração.

Eu acho que um arquivo try é preferível ao reescrever, mas de qualquer forma, aqui está o que eu uso para um site Moodle.

    location / {
            try_files $uri $uri/ /index.php/$request_uri;
    }

    location ~ .php($|/) {
            set $script $uri;
            if ($uri ~ "^(.+.php)(/.+)") {
                    set $script $1;
            }
            fastcgi_split_path_info ^(.+.php)(/.+)$;
            fastcgi_index index.php;

            include fastcgi.conf;

            fastcgi_param SCRIPT_FILENAME $document_root$script;
            fastcgi_temp_file_write_size 10m;
            fastcgi_busy_buffers_size 512k;
            fastcgi_buffer_size 512k;
            fastcgi_buffers 16 512k;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
            fastcgi_read_timeout 300;
            fastcgi_intercept_errors on;
            fastcgi_next_upstream error invalid_header timeout http_500;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
Infelizmente, as regras exatas para reescrever as regras parecem mudar sutilmente para cada mecanismo, mas o nginx é popular o suficiente para que o Googling nginx url <<engine, eg wordpress>> obtenha algumas sugestões.

    
por Oli 21.01.2015 / 13:08