Random Symphony 异常 Drupal 10.1.1“主题必须作为查询参数传递”

问题描述 投票:0回答:2

我刚刚完成了我的网站从 9.x 到 10.1.1 的升级。我在日志中收到随机 Symfony\Component\HttpKernel\Exception\... 。日志消息的详细信息是

位置:css 文件随每个错误而更改。有时该文件存在,有时不存在。 https://www.hummingbirdhealingcenter.org/sites/default/files/css/css_mBLgU_XxRuPxMwhmPo7QTXj25DV4ZgJnQ7Tq5ihFqP0.css

Referrer:有时为空,有时为网站页面的 URL。在哪一页上没有一致性。

消息:Symfony\Component\HttpKernel\Exception\BadRequestHttpException:主题必须作为 Drupal\system\Controller\AssetControllerBase->deliver() 中的查询参数传递(/home/humming7/hhc10/web/core/ 的第 127 行)模块/system/src/Controller/AssetControllerBase.php).

这是我能得到的所有信息。我无法让错误发生。查看记录错误时的 apache http 日志,没有发现记录错误时正在请求哪个页面的模式。

我不知道这是否会影响用户体验。对于可能发生的情况以及如何阻止这种情况发生有什么想法吗?

**** 观察一周后更新**** 这似乎只在我完成一些编辑并清除所有缓存后才会发生。

drupal
2个回答
0
投票

昨天升级到 Drupal 10.1 后我们也遇到了这个问题......在调试中我注意到聚合的 CSS 和 Javascript 文件有一个附加了多个项目的查询字符串。在我们的例子中,出于性能和安全原因,我们有一个 CDN,并且提供的 Web 应用程序防火墙 (WAF) 有一个默认规则,用于删除来自公众的所有请求的查询字符串,以防止某些类型的安全缺陷。看来我们必须添加一个查询字符串规则例外,以允许这些参数传递给sites/default/files/css/* 和sites/default/files/js/* 。

此处描述了导致此问题的更改https://www.drupal.org/node/3301716


0
投票

它看起来像“缓存错误” - 尝试查找保存的缓存 css 和 js 文件,但失败了。尝试:

  1. 通过
    "drush cr"
    或通过管理界面刷新所有缓存;
  2. 删除
    sites/default/files/css and sites/default/files/js
    目录下的所有文件。
  3. 如果这没有帮助,最好在 drupal.org 上创建问题。这是一个新问题 - 从
    10.0.9 to 10.1.1
    升级后我也遇到了类似的问题。

完成上述步骤 1 和 2 后,我正在等待此错误是否会再次出现。如果没有,这是旧的缓存问题,如果出现错误,这是一个错误,我们需要转到步骤3。

© www.soinside.com 2019 - 2024. All rights reserved.