Cum remediați eroarea paginilor și permalink-urilor WordPress 404 Not Found pe serverul Nginx

Configurare noua (How To)

Situatie

Testat cu

  • Nginx 1.19.0
  • WordPress 5.4
  • PHP 7.2.24
  • Vesta CP

După ce ați trecut la Nginx de pe serverul Apache, WordPress a început să arate erori 404 sau Pagina negăsită. Pagina de pornire se încarcă, dar toate permalinkurile sunt 404 când se utilizează Nginx și PHP-FPM

WordPress recomandă PHP-FPM ca handler PHP pentru a profita de NGINX. Din păcate, regulile mod_security nu vor funcționa cu NGINX, iar regulile și restricțiile de rescriere .htaccess nu se vor mai aplica. Regulile de rescrie Nginx și Apache au un format total diferit. Aceasta înseamnă că rescrierile permalink-ului WordPress nu vor mai funcționa după schimbarea serverului web.

Cum remediam o eroare 404 de permalinkuri Nginx WordPress

În mod similar, modificarea configurației Nginx ajută și la rezolvarea erorii 404 de permalink-uri WordPress. Aici, în fișierul de configurare Nginx per domeniu pentru domeniu. Editați ambele fișiere nginx.conf și nginx.ssl.conf pentru ca acestea să funcționeze pe http:// și https://

  • /home/admin/conf/web/domain-name.nginx.conf
  • /home/admin/conf/web/domain-name.nginx.ssl.conf

editați următorul bloc de locație în blocul serverului:

cd /home/admin/conf/web/
vim domain-name.nginx.ssl.conf
// vim domain-name.nginx.conf
// press i to enter vim insert mode

//add try_files $uri $uri/ /index.php?$args; under location / {} block
location / {
    # file ($uri) or directory ($uri/)? if not, redirect to /index.php + query string
    try_files $uri $uri/ /index.php?$args;
    index  index.html index.htm index.php;
}

// press ESC to exit from vim insert mode
:wq // save and quit configuration file

Iată o altă soluție, o poți încerca dacă cea anterioară nu funcționează pentru tine. Le-am testat pe ambele pe serverul meu Linode și ambele au funcționat perfect.

location / {
    rewrite ^/(.*)$ /index.php?$1;
    index  index.html index.htm index.php;
}

În plus, reîncărcăm configurația Nginx pentru ca modificările să intre în vigoare.

1
$ nginx -s reload

Solutie

Tip solutie

Permanent

Voteaza

(7 din 15 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?