如题,我们在开发主题中使用了add_rewrite_rule函数添加了自定义路由,来做了一个人中心,包含了投稿和投稿文章列表的功能;
代码如下:
[crayon-67d1aee6d05c6926043266/]
如代码所示,我们在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配置参数:
第9行设置了error_page,我们直接注释掉保存;
返回页面访问,一切恢复正常!