我为我正在开发的一个小型网站编写了一个小型 MVC 应用程序。我创建了一个加载页眉、页脚和指定 View 文件的加载方法。我遇到标题未加载所有 JS 文件且整个文档的 HTML 结构缺少缩进的问题。
标题.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo $meta['title']; ?></title>
<?php //load all of the css files
foreach (glob("layout/css/*.css") as $css_filename)
{
echo '<link rel="stylesheet" href="'.INSTALL_PATH.'/'.$css_filename.'">';
}
//load all of the js files
foreach (glob("layout/js/*.js") as $js_filename)
{
echo '<script src="'.INSTALL_PATH.'/'.$js_filename.'"></script>';
}
?>
</head>
<body>
呈现为:
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>Test Title</title>
<link rel=stylesheet href="/labs/wpsm/layout/css/style.css"><script></script></head>
<body>
我发现的一件奇怪的事情是,如果我在文档类型声明之前包含随机文本,一切都会恢复正常。
有额外的字符:
s
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test Title</title>
<link rel="stylesheet" href="/labs/wpsm/layout/css/style.css"><script src="/labs/wpsm/layout/js/test.js"></script></head>
<body>
我在这里错过了什么?我检查了页面的字符编码,是utf-8。任何帮助或指示都会很棒!
最佳答案
我在弄乱服务器时才弄明白。我发现它启用了 mod_pagespeed,我禁用了 mod_pagespeed 模块(Apache 的 Google Page Speed),它修复了缩进和 JS 文件开始工作。该模块自动删除了 JS 文件,因为它是我放入目录的空白文件,只是为了确保 PHP 正确提取文件。谢谢大家的帮助,我希望这可以帮助人们节省一些头发。
关于php - HTML 缩进不适用于 PHP include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046587/