Un sitio WordPress muestra el error 404

Created:

2016-11-16 12:47:44 UTC

Modified:

2017-08-17 02:59:50 UTC

11

Was this article helpful?


Have more questions?

Enviar una solicitud

Un sitio WordPress muestra el error 404

Applicable to:

  • Plesk for Linux

Síntomas

La opción Procesar PHP mediante Nginx en Plesk > Dominios > domain.tld > Configuración del servidor web está activada y el sitio WordPress domain.tld funciona correctamente.

De todos modos, tras haber configurado Permalinks en WordPress admin > Configuración > Permalinks para el sitio domain.tld a Post name , todas las páginas excepto la principal muestran el error 404 Not Found .

Causa

Los permalinks de WordPress usan el archivo .htaccess para reescribir las URLs de las páginas a http://domain.tld/page_name/ .

nginx no puede leer el archivo .htaccess , puesto que este sólo puede ser leído por Apache.

Cuando se configura Nginx + php-fpm para procesar PHP, Apache no toma parte alguna en el proceso.

Resolución

Existen dos posibles soluciones. La primera resulta útil si desea configurar el soporte de PHP-fpm para uno o varios sitios WordPress. La segunda resulta útil si dispone de una gran cantidad de suscripciones que presentan este problema.

  1. Cree una directiva nginx adicional para el dominio en Plesk > Dominios > domain.tld > Configuración del servidor web :

    if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
    }
  2. Cree archivos de plantilla de configuración personalizados:

    1. Copie las plantillas de configuración predeterminadas tal y como se muestra a continuación:

      # mkdir /usr/local/psa/admin/conf/templates/custom
      # mkdir /usr/local/psa/admin/conf/templates/custom/domain
      # mkdir /usr/local/psa/admin/conf/templates/custom/domain/service
      # cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
      # cp /usr/local/psa/admin/conf/templates/default/domain/service/nginxWordpressIndexing.php /usr/local/psa/admin/conf/templates/custom/domain/service/nginxWordpressIndexing.php

      Nota : cualquier cambio efectuado en las plantillas de configuración predeterminadas se perderá tras instalar microactualizaciones de Plesk.

    2. En el archivo /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php , reemplace la sección:

      location ~ /$ {
      <?php echo $VAR->domain->physicalHosting->proxySettings['directoryIndex'] ?>
      }

      Por lo siguiente:

      location ~ / {
      index index.php index.cgi index.pl index.html index.xhtml index.htm index.shtml;
      try_files $uri $uri/ /index.php?$args;
      }
    3. En el archivo /usr/local/psa/admin/conf/templates/custom/domain/service/nginxWordpressIndexing.php , reemplace:

      location ~* "^<?php echo $OPT['ssl'] ? $wordpress->httpsLocation : $wordpress->httpLocation; ?>"

      Por lo siguiente:

      location ~* ^/<?php echo $wordpress->location; ?>
    4. Vuelva a crear los archivos de configuración del servidor web:

      # /usr/local/psa/admin/bin/httpdmng --reconfigure-all
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.