【发布时间】:2020-03-20 16:30:46
【问题描述】:
我知道我会写
php_value auto_prepend_file "/root-directory/header.php"
php_value auto_append_file "/root-directory/footer.php"
进入 .htaccess 以在每个页面的顶部和末尾包含 header 和 footer,但这会将它们放在 <html> 和 <body> 标记之前/之后.
无论如何它都可以,但我知道这不是设置 html 页面的好方法。
虽然我可以通过将</body> 和</html> 标签放在它的末尾来“修复”footer 的问题(即使每个源代码都没有结束标签并不是一件好事),我找不到修复标题的方法。
有没有办法告诉.htaccess 将header 放在<body> 标记之后,将footer 放在</body> 之前?
【问题讨论】:
-
嗯,您的应用程序逻辑需要修改,使其不发送完整的 html 文档,而只发送一个 sn-p,即 html 文档的一小部分。然后可以将不包含
<html>和<body>以及</body>和</html>开始和结束标记的部分嵌入到自动添加的sn-ps 中以形成有效的html 文档。我仍然认为这是一种不好的做法,但这是可能的。通常的方法是不在协议级别处理内容方面,而是在应用程序的逻辑控制器内部处理。 -
@arkascha 那么你的意思是我应该在每个页面中手动包含
header和footer吗? -
嗯,是的,也不是。取决于“手动”和“每个”的实际含义。我不知道你的设置和你的应用程序。您如何创建内容。你在你的问题中没有这样说。我所说的是通常的方法是在应用程序的控制器中包含 html 文档的页眉和页脚部分。您提供的信息很少,我无法更具体。也许您想使用问题下方的
edit按钮并提供更多信息:您使用什么样的应用程序逻辑?你提供什么内容?什么结构? -
另外,如果您确实需要在协议级别进行内容处理,您可以查看 apache http 服务器提供的替代功能。设置起来有点复杂,但实际上允许用页眉和页脚 替换 那些前面和后面的 html 标记,而不仅仅是添加这些标记。 httpd.apache.org/docs/2.4/mod/mod_substitute.html
-
@arkascha 我的网站没什么好说的...我是个初学者,它是一个托管在免费域上的网站,有 20-30 页。页眉和页脚应该包含在每个页面中(除了 PHP 页面,但没关系)。我想要做的是自动包含页眉和页脚,这样我就不必在更改主机时对所有反应路径感到疯狂或调整绝对路径。当我说“手动”时,我的意思是在每个页面中使用
include ...包含页眉和页脚。
标签: php html .htaccess include