2010-04-28 92 views
3

我只是想在HTML中做一个简单的include语句。我不知道为什么它不工作。我的文件设置基本上是index.php,然后是一个名为“includes”的文件,里面有一个“header.html”文件。因此,这里是我的代码:HTML include语句

<!DOCTYPE html> 
<html lang="en"> 
<html> 
<head> 
<title>Title</title> 
<link type="text/css" href="style/style.css" media="screen" rel="stylesheet"> 
<script src="scripts/jquery.js" type="text/javascript"></script> 
<script src="scripts/code.js" type="text/javascript"></script> 

<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
</head> 
<body> 
<div id="wrapper"> 

    <!--#include virtual="/includes/header.html" --> 

...blah blah blah 
</div> 

</body> 
</html> 

我验证过的文件是存在的,所以我不知道这个问题可能是什么。谢谢!

回答

5

HTML没有简单的包含机制(帧除外,但它们有副作用)。

你在那里有一个Server Side Include,它需要你的web服务器提供支持。大多数Web服务器都支持SSI,但功能可能未启用(通常不适用于.html文件,因为处理静态文件的开销不值得)。

服务器不处理用于SSI的PHP输出(尽管理论上可行),并且它们不处理PHP正在读取的文件(即使用PHP包含)。改为使用PHP includes代替。

2

您的服务器是否启用了SSI(服务器端包含)?这就是你想要使用的,但它必须在你的Web服务器的配置中打开才能工作。

而且,因为你让一个PHP文件,你可能只是想使用PHP的包括代替:

<?php include("path/to/file"); ?> 
0

试试这样说:

<?php include("/includes/header.html"); ?> 

你的语法使用被称为服务器端包括,并且必须在您的Web服务器设置中启用