我们有一个新的 Drupal 8 网站,我们无法更新其中的某些内容。如果正文字段包含一个或多个撇号或分号,则保存内容会失败。如果我删除这些字符,内容就可以正常保存。
此行为仅发生在生产服务器上。开发服务器没有此问题(尽管两个环境不同)。
生产服务器有以下内容:
- 红帽企业版 6
- Apache 2.2.15
- PHP 5.6.30
- Drupal 8.2.6
当内容保存失败时,我看到浏览器控制台返回 HTTP 状态代码 302,然后重定向到网站主页。
当内容保存时,我看到返回的状态代码为 303,然后根据我如何进入节点编辑表单重定向到内容概览页面或已发布页面。
我在日志中没有看到与此相关的任何 PHP 错误消息。由于这种情况只发生在生产服务器上,我怀疑这是服务器配置问题。
有人以前见过这种行为吗?或者可以就如何进行提供任何建议吗?
答案1
撇号和分号是 HTML 保留字符。您是否使用了可自动转换保留字符的 Drupal 块?如果内容块将纯文本显示为纯文本而不考虑 HTML 保留字符,则会出现问题。
您收到 303 可能是因为如果 Drupal 无法正确解释内容,它将重定向到错误页面,我敢打赌您没有设置该页面。