WordPress迁移服务器后报Nginx404的问题

时间:2021-12-19 23:12:18

Wordpress迁移服务器后,只有主页能打开,其它页面都显示404 页面无法访问。

出现这个问题是因为我的Wordpress之前用的服务器是apache+PHP组合,换了服务器后变成了Nginx+PHP,所以我判断是伪静态出了问题。如果大家要排查确认是不是伪静态的问题,可以将wordpress固定链接改为 “朴素” 数字型,正常情况下访问二级页面就不会有问题了。

针对这个问题官方是有解决方案的,在Nginx的配置文件中location段添加以下代码即可:

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-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
include /www/server/panel/vhost/rewrite/xxx.com.conf;
#REWRITE-END

把官方提供的解决方案代码配置在对应的xxx.com.conf即可实现伪静态。