解决nginx环境下wordpress后台经常404问题

wordpress教程 提交于 2018-05-31 16:53:50

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 (.*) /index.php; 
    } 

使用这个规则实现了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服务即可。

标签

如果文章对你有帮助,请赞赏支持本站发展!

评论

发表评论

此字段内容将保密,不会被其他人看见。

纯文本

  • 不允许使用HTML标签。
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。