Ошибка постоянных ссылок WordPress в Nginx 404

#wordpress #nginx

#wordpress #nginx

Вопрос:

Существует следующая конфигурация NGINX:

 server {
        listen 80;
        listen [::]:80;

        server_name <name>;
        client_max_body_size 32m;
        root /home/ulnda/www/wordpress;
        index index.html index.php;

        location / {
                try_files $uri $uri/ =404;
        }
        location ~ .php$ {
              include snippets/fastcgi-php.conf;
              include fastcgi_params;
              fastcgi_pass unix:/run/php/php7.0-fpm.sock;
              fastcgi_param SCRIPT_FILENAME /home/ulnda/www/wordpress$fastcgi_script_name;
              fastcgi_param PHP_VALUE post_max_size=20M;
              fastcgi_param PHP_VALUE upload_max_filesize=20M;
        }
}
  

Сайт корректно работает в домене, например http://somedomain.com. Но когда я пытаюсь открыть какое-то сообщение с постоянной ссылкой http://somedomain.com/post-about-sea Я получаю ошибку 404. Как я могу это исправить? Спасибо!

Ответ №1:

Это должно сработать. Nginx вообще не должен возвращать 404 в вашей конфигурации.

 server {
        listen 80;
        listen [::]:80;

        server_name <name>;
        client_max_body_size 32m;
        root /home/ulnda/www/wordpress;
        index index.html index.php;

        location / {
              try_files $uri $uri/ /index.php?$args;
        }
        location ~ .php$ {                
              include snippets/fastcgi-php.conf;
              include fastcgi_params;
              fastcgi_pass unix:/run/php/php7.0-fpm.sock;
              fastcgi_param SCRIPT_FILENAME /home/ulnda/www/wordpress$fastcgi_script_name;
              fastcgi_param PHP_VALUE post_max_size=20M;
              fastcgi_param PHP_VALUE upload_max_filesize=20M;
        }
}
  

Ответ №2:

если вы используете Elasticbeanstalk с Amazon Linux 2, то для вас будет работать следующее: создайте файл в заданном каталоге:

введите описание изображения здесь

в этот файл добавьте следующий код:

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