无法将服务器端包含(一个HTML文件到另一个)工作

时间:2009-09-28 21:08:51

标签: html server-side-includes

我无法让服务器端包含工作。我只是想将一个html文件包含在另一个中,我似乎无法让它工作

设置

服务器是运行Windows XP的另一台计算机(不是localhost)。我有一个较小版本的xampp堆栈,它只运行Apache / 2.2.11

虚拟目录(在httpd-vhosts.conf中)配置为

<Directory "c:\www\dev1">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

index.html包含

A Big Block of Text<br />
A Big Block of Text<br />

<!-- #include file="test.shtml" -->

A Big Block of Text<br />
A Big Block of Text<br />

test.shtml包含

This is another line

我得到了什么

在我的开发计算机上的浏览器中,www.dev.com / index.html显示

A Big Block of Text<br />
A Big Block of Text<br />
A Big Block of Text<br />
A Big Block of Text<br />
  • 页面来源显示!--- include 这意味着包含文件没有 已处理
  • www.dev.com/test.shtml 显示如上所示的文件 它是可以访问的。

我尝试过的事情

在stackoverflow和互联网上阅读这里的一些帖子,它帮助“构建”了使其工作的基础知识(即确保选项已启用包含)但它仍然无效。

已更改

Options Indexes FollowSymLinks Includes ExecCGI to
Options Indexes FollowSymLinks Includes +Include ExecCGI to
Options Indexes FollowSymLinks +Includes ExecCGI

重启apache后仍无法正常工作

将.htaccess添加到与index.html和test.shtml

相同的目录中
Options Indexes FollowSymLinks Includes ExecCGI 
AddType text/html .shtml
AddHandler server-parsed .shtml

它仍然不起作用。

请注意。 http.conf已经有了

AddType text/html .shtml
AddHandler server-parsed .shtml

启用。

是的,这可能是显而易见的事情,但我感冒了所以如果有人能指出我正确的方向,那将非常感激。

我尝试了更多的事情

更改包含文件以包含虚拟

我尝试了RichieHindle的建议,它似乎没有用,我修改了我的.htaccess和虚拟目录配置,包括.html和.shtml的AddType,AddHandler所需的组合...仍然没有

大注意:在网络服务器上,可以加载一个SSI检查网页(通过其中一个xampp安装目录中的localhost),它告诉我SSI包含已启用并正常工作,但请注意我的虚拟目录不是在xampp安装目录中;它们在c:/ www下是独立的......但是如果我在我的虚拟目录设置和/或.htaccess设置中配置了上面列出的选项,我无法弄清楚如何/为什么会有所不同

3 个答案:

答案 0 :(得分:6)

你需要:

AddHandler server-parsed .html

您的HTML文件名为index.html,但您只是将server-parsed应用于。 s html文件。

答案 1 :(得分:3)

也许尝试删除空间?从:

<!-- #include file="test.shtml" -->

到此:

<!--#include file="test.shtml" -->

答案 2 :(得分:0)

我在另一个html文件中包含html时已经搜索并尝试了ALOT。我不想使用.asp或.php或.xhtml。

这对我有用:Include another HTML file in a HTML file