在我的文档类型(在本地主机上)之前的一段时间将我所有的头部元信息<head>
从<body>
.
在进行了一些研究后,有人建议它与使用 UTF-8 和 BOM 而不是不使用有关,但是,我已经检查并仔细检查(即使使用 W3C 验证器)并且它在没有 BOM 的情况下使用。
还有其他原因会发生这种情况吗?
句点(或无关的 BOM)将使 HTML 解析器认为 body 元素已经开始。因此它进入“解析正文”模式,随后的所有内容都放入正文部分。
当它是 Unicode 文件的第一个字节时,作为 BOM 的字节序列是文件中任何其他位置的“零宽度无换行符”字符。因此,它是一个可打印的字符,例如句号或“ ” 或“x”,如果解析器在正文开始之前看到它,将简单地假设页面作者简单地省略了 a<html>
<head>
和<body>
未看到的标签,因为它们在 HTML 中都是可选的。
经常怀疑一个 BOM 的原因是它是不可见的,通常是由工具而不是作者手动添加的,因此作者不知道它的存在。句号字符不是这种情况。
我不知道到底是什么问题,但是我创建了一个新的 header.php,将内容复制并粘贴到其中,然后一切正常。
在我的情况下, /var/www/wordpress/wp-config.php 的顶部意外地有一个额外的字符