Wordpress e nginx todas as páginas funcionam bem, exceto .php inexistente

Wordpress e nginx todas as páginas funcionam bem, exceto .php inexistente

Configurei meu site WordPress no Nginx e tudo funciona bem, mas para páginas .php inexistentes. Elas retornam a página 404 padrão do nginx não encontrada, por que?

# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/vpsproject.site;

# Add index.php to the list if you are using PHP
index index.php;

server_name vpsproject.site;


location / {
    #try_files $uri $uri/ =404;

    try_files $uri $uri/ /index.php$is_args$args;



}


# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    include snippets/fastcgi-php.conf;

    # With php7.4-fpm:
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

      # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
            deny all;
    }
    # deny access to .git related folders or files
    #
    location ~ /\.git {
            deny all;
    }

Responder1

Isso acontece porque o nginx envia as solicitações de .phparquivos para o processo PHP-FPM que escuta no unix:/run/php/php7.4-fpm.socksoquete. O processo PHP-FPM verifica se o arquivo existe e, se não existir, retorna o código de status 404.

Enquanto isso, o fluxo de solicitação padrão para todos os outros URLs é que o nginx primeiro verifica se o arquivo ou diretório existe. Se existir, ele envia o conteúdo.

Caso contrário, o nginx envia a solicitação para /index.php, que então é enviada ao processo PHP-FPM por meio do soquete.

Em seguida, o front controller do WordPress trata da solicitação e exibe sua própria página 404 se ela não for encontrada.

informação relacionada