WordPress警告:preg_match():编译失败:在偏移量1处不重复

时间:2018-06-18 21:25:12

标签: regex wordpress preg-match

突然,我朋友的基于WordPress的网站开始在子页面上显示此警告:

  

警告:preg_match():编译失败:无法在偏移处重复   第218行/wp-includes/class-wp.php中的1

警告中返回的第218/219行如下:

if ( preg_match("#^$match#", $request_match, $matches) ||
     preg_match("#^$match#", urldecode($request_match), $matches) ) {

似乎代码负责URL重写。

任何可能出错的想法?​​

2 个答案:

答案 0 :(得分:1)

错误不会出现在主页上,而是出现在子页面上。因此,我猜永久链接结构是腐败的。经常建议的修复方式如下:

  1. 临时禁用所有插件!不要跳过这一步。
  2. 转到WordPress管理信息中心:设置 - >固定链接 请注意您在其他地方的自定义永久链接字段中拥有的内容
  3. 临时切换到默认永久链接。保存设置。
  4. 检查相关网页:preg_match错误消失了吗?
  5. 切换回以前的自定义永久链接设置
  6. 重新启用所有插件,页面应该恢复正常。

答案 1 :(得分:0)

我遇到了同样的问题,这让我发疯了!

这对我来说是一个简单的修复,希望其他有同样问题的人也能使用!

我所要做的就是使用 /wp-admin 登录到站点的后端,然后转到设置 > 永久链接,然后将其设置为“发布名称”,然后单击“保存更改”。硬刷新您遇到问题的页面,它可能会得到解决。