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 |
Leave A Comment?