无法在另一个中包含一个html文件

时间:2010-10-07 03:34:29

标签: html

a.html

ABC

b.html

    <!--#include FILE="a.html" --> 

XYZ

访问b.html:file:///home/kurz/Desktop/b.html

它只显示XYZ

这不是在html中包含文件的方法吗?

4 个答案:

答案 0 :(得分:7)

您尝试的内容称为Server-Side Include(SSI)。因此,它要求页面在Web服务器上运行,而不是本地文件。

当您从服务器请求页面时,服务器会看到<!--#include FILE="a.html" -->预处理器并执行SSI。

当您直接从文件系统引用它时,例如file:///home/kurz/Desktop/b.html,您的所有浏览器都在加载原始html并解释它。

答案 1 :(得分:0)

如果是apache尝试

<!--#include virtual="insertthisfile.html" -->

来自here

  

包括虚拟和包含文件   几乎一样的事情。区别   是包括虚拟的a   URL风格的路径,这就是你   可能期待。包括虚拟罐头   如果您的网站也执行CGI程序   服务器支持,包括   他们的输出。包含文件需要一个   文件系统路径,无法执行   CGI计划。两人都接受   相对路径,所以对于一个简单的情况   像上面他们一样工作。如果   你不明白其中的区别   Web路径和文件系统之间   路径,使用包括虚拟。

答案 2 :(得分:0)

你正在做的是SSI - &gt;需要Server Side IncludesApache工作的IIS

您需要安装Apache(对于windows / unix)或IIS(对于Windows)才能生效。此外,您可以在远程Web服务器上测试它。

答案 3 :(得分:0)

是的,服务器端包含

需要服务器

如果只是纯HTML,请使用iframe ... 而不是#include,请使用:

<iframe src="a.html"></iframe>

如果您的网站符合XHTML标准(可能不是),则需要进行进一步的更改