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即可实现伪静态。