nginx环境下wordpress使用add_rewrite_rule添加路由定义页面调用文章分页404

如题,我们在开发主题中使用了add_rewrite_rule函数添加了自定义路由,来做了一个人中心,包含了投稿和投稿文章列表的功能;

代码如下:

如代码所示,我们在mycontribute页面加了分页路由,以便我们调用分页函数来实现分页;

我们在本地使用Apache环境开发并没有遇到问题,代码上线到服务器后,服务器使用的是宝塔+ nginx;

在投稿页面首页(http://myhost/mycontribute)正常,链接打开第二页(http://myhost/mycontribute/page/2/)的时候,直接返回服务器404页面;

排查思路:

1、检查伪静态配置;

2、检查路由表$wp_rewrite->rule;

3、检查nginx伪静态设置;

检查以上三项,均正常后,我们跳过路由,关闭伪静态,直接访问(http://myhost/index.php?wbincpage=mycontribute)返回正常,访问(http://myhost/index.php?wbincpage=mycontribute&paged=2)直接返回了服务器的404页面;并没有将参数传递到index.php,那么最终问题定位还是到nginx上,我们通过查看nginx配置参数:《nginx环境下wordpress使用add_rewrite_rule添加路由定义页面调用文章分页404》

第9行设置了error_page,我们直接注释掉保存;

返回页面访问,一切恢复正常!

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *