我有一个由一堆静态HTML页面组成的网站.显然,这些(标题,菜单等)之间存在很多重复.我计划使用的托管公司支持PHP,我对此一无所知.据推测,PHP提供了某种#include机制,但是我需要对我的HTML页面进行哪些更改才能使用它?
例如,假设我有一个这样的页面
的index.html
My Common Header
显然我需要将公共部分移动到它自己的文件中:
了header.html
My Common Header
鉴于上面的示例(假设所有文件都在同一目录中):
我在body标签中添加了什么来获取header.html?
我是否需要重命名index.html或添加一些特殊标签以指示它是.php文件?
我是否需要对header.html进行任何更改?
更新:我想强调一下,我的目标只是找到减少静态HTML文件重复的最低摩擦力的方法.我有点不愿意沿着服务器端包含路由,因为我还不知道我将托管文件的服务器类型(IIS/Apache),以及是否打开或关闭包含.我被吸引到PHP只是因为它是我唯一可以认为可以完成工作的东西.谢谢你的回复.
谢谢,唐纳德
您不需要使用PHP来获得此功能,并且由于潜在的安全问题,这通常是一个坏主意.从本质上讲,你是用核弹击打一个g .. 如果您没有使用动态语言,那么您正在寻找服务器端包含.
例如,在IIS中:
请注意,您经常需要配置服务器才能使用它们,因为默认情况下此功能通常处于关闭状态.IIS和Apache都支持服务器端包括,但它们使用不同的配置.
您可以在这里找到更多信息:
服务器端包含
编辑:我并不是说使用PHP是一个坏主意,仅仅使用PHP来包含其他文件.它通过在不需要时将PHP引入混合来创建更大的攻击面,因此当不需要PHP的功能时可能会出现安全问题.
EDIT2:我认为假设你不会因为你的体型而成为目标是一个坏主意,因此你可以忽略安全性.大多数网站都被自动蠕虫攻击,并变成恶意软件主机,垃圾邮件僵尸或盗版软件/媒体服务器.除了您可能最终参与感染他人之外,您的网站可能会被列入黑名单,并且在带宽超额费用方面可能会花费您真正的资金.我们谈的是数百或数千美元.
仅仅因为你是一个小网站并不会让你成为一个目标.只是在互联网上让你成为目标.
您正在寻找include
(或它的衍生物,如之一include_once
,require
,require_once
):
header.php文件
My Common Header
的index.php
等等,例如你的页脚.