0°

解决Nginx环境下WordPress后台经常404问题

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx因其异步线程特征,更快、更稳定、支持更多并发连接数,使得越来越多的站长放弃Apache改用Nginx做为Web服务器,由于WordPress固定链接是基于Apache的.htaccess实现的,并不能直接支持Nginx,好在WordPress官方提供了针对Nginx的配置规则,如下:

location / {
    index index.html index.php; 
    if (-f $request_filename/index.html){ 
        rewrite (.*) $1/index.html break; 
    } 
    if (-f $request_filename/index.php){ 
        rewrite (.*) $1/index.php; 
    } 
    if (!-f $request_filename){ 
        rewrite

使用这个规则实现了WordPress固定链接,但有一个问题尤其是多个WordPress在一台Nginx服务器上运行时后台操作经常出现404,细心的站长观察地址栏可以发现地址栏中少了wp-admin路径,例如本来应该是 https://www.ttkkv.com/wp-admin/options-permalink.php 却变成了https://www.ttkkv.com/options-permalink.php这个不存在的路径,所以出现404页面,解决这个问题其实很简单,只需要在WordPress的Nginx配置文件中加一条rewrite规则,完整代码如下:

location / {
    index index.html index.php; 
    if (-f $request_filename/index.html){ 
        rewrite (.*) $1/index.html break; 
    } 
    if (-f $request_filename/index.php){ 
        rewrite (.*) $1/index.php; 
    } 
    if (!-f $request_filename){ 
        rewrite (.*) /index.php; 
    } 
} 

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

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

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
限时红包
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论