Wordpress y nginx todas las páginas funcionan bien excepto .php inexistente

Wordpress y nginx todas las páginas funcionan bien excepto .php inexistente

Configuré mi sitio web de WordPress en Nginx y todo funciona bien, pero para páginas .php inexistentes, esas devuelven la página 404 predeterminada de nginx no encontrada, ¿por qué?

# 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;
    }

Respuesta1

Esto sucede porque nginx envía las solicitudes de .phparchivos al proceso PHP-FPM que escucha en unix:/run/php/php7.4-fpm.sockel socket. El proceso PHP-FPM luego verifica si el archivo existe y, si no existe, devuelve el código de estado 404.

Mientras tanto, el flujo de solicitud predeterminado para todas las demás URL es que nginx primero verifica si existe un archivo o directorio. Si existe, envía el contenido.

De lo contrario, nginx envía la solicitud a /index.php, que luego se envía al proceso PHP-FPM a través del socket.

Luego, el controlador frontal de WordPress maneja la solicitud y sirve su propia página 404 si no se encuentra.

información relacionada