WordPress迁移后只有首页可用其他页面都报404
WordPress迁移服务器后,只有主页能打开,其它页面都显示404 页面无法访问。
出现这个问题是因为我的Wordpress之前用的服务器是apache+PHP组合,换了服务器后变成了Nginx+PHP,所以我判断是伪静态出了问题。如果大家要排查确认是不是伪静态的问题,可以将wordpress固定链接改为 “朴素” 数字型,正常情况下访问二级页面就不会有问题了。
针对这个问题官方是有解决方案的,在Nginx的配置文件中location段添加以下代码即可:
server
{
listen 80;
listen 443 ssl http2 ;
server_name owen.net www.owen.net;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/owen.net;
#忽略以上
#加入一下3个if即可,开始位置
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;
}
#加入一下3个if即可,结束位置
#忽略以下
access_log /www/wwwlogs/owen.net.log;
error_log /www/wwwlogs/owen.net.error.log;
}