我无法让服务器端包含工作。我只是想将一个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 />
在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设置中配置了上面列出的选项,我无法弄清楚如何/为什么会有所不同
答案 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。