WordPress后台在Nginx环境下经常出现404错误

Nginx因其异步线程特征,更快、更稳定、支持更多并发连接数,使得越来越多的站长放弃Apache改用Nginx做为web服务器。

WordPress后台在Nginx环境下经常出现404错误

 

由于WordPress固定链接是基于Apache的.htaccess实现的,并不能直接支持Nginx。而WordPress官方提供了针对Nginx的配置规则,代码如下:

  1. location / {
  2.     index index.html index.php;
  3.     if (-f $request_filename/index.html){
  4.         rewrite (.*) $1/index.html break;
  5.     }
  6.     if (-f $request_filename/index.php){
  7.         rewrite (.*) $1/index.php;
  8.     }
  9.     if (!-f $request_filename){
  10.         rewrite (.*) /index.php;
  11.     }
  12. }

 

操作WordPress后台为什么会出现404错误

使用这个规则可以实现WordPress固定链接,但是存在一个问题,当多个WordPress网站运行在同一台Nginx服务器上时,后台操作经常会出现404错误。细心的站长观察地址栏可以发现,地址栏中少了wp-admin路径,例如本来应该是 https://www.liwei8090.com/wp-admin/options-permalink.php 却变成了https://www.liwei8090.com/options-permalink.php这个不存在的路径,所以出现404页面。

 

如何解决这个错误

解决这个问题其实很简单,只需要在WordPress的Nginx配置文件中增加一条rewrite规则,完整代码如下:

  1. location / {
  2.     index index.html index.php;
  3.     if (-f $request_filename/index.html){
  4.         rewrite (.*) $1/index.html break;
  5.     }
  6.     if (-f $request_filename/index.php){
  7.         rewrite (.*) $1/index.php;
  8.     }
  9.     if (!-f $request_filename){
  10.         rewrite (.*) /index.php;
  11.     }
  12. }
  13. rewrite /wp-admin$ $scheme://$host$uri/ permanent;

 

更改完配置文件,重启nginx服务即可。

本文转自:https://www.liwei8090.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注