2010-04-28 60 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服務器設置中啓用