我们有一个多年来一直使用服务器端的页面。最近它停止了工作。没有对页面进行任何更改
<!--#include virtual="..\..\includes\nav.include" -->
靠近名为contact.html的页面底部
'nav.include'页面只包含导航栏的html。没有javascript。没有服务器端脚本。只是html。
是否有某些设置需要设置,以使SSI在此处实现的方式工作(包括在html文件中具有不常见扩展名的文件)?
答案 0 :(得分:1)
你在使用GoDaddy吗?他们对我的网站做了同样的事情,我在他们的论坛上找到了一个说使用包含文件而不是包含虚拟文件的人。
答案 1 :(得分:1)
我昨天发现的解决方案:
我已用
替换了所有{&lt; #include virtual =“folder_name / file_name.ext” - &gt;} <?php include "folder_name/file_name.ext" ; ?>
具有适当数量的点和斜线,具体取决于页面在我的文件夹层次结构中的位置。 (上面的{}仅用于标记代码)
这似乎正在解决 - 我仍在测试所有页面和链接 - 这是一项非常繁琐且耗时的练习!
包括语法:
在php文件中使用
<?php include "..//folder_name/file_name.ext" ; ?>
在html文件中使用
<!--#include virtual="../folder_name/file_name.ext" -->
在上面的语法中以“......”和“///”的数量进行实验以获得正确的组合!!!!
我希望这有帮助!
答案 2 :(得分:1)
刚切换到Godaddy服务器,我的SSI停止工作。我用以下内容制作了一个.txt文件:
AddHandler服务器解析.html
我将它上传到公共html文件夹,然后重命名为.htaccess,一切都开始有效了。
答案 3 :(得分:0)
我有太多文件要将所有扩展名转换为PHP,所以我必须找到另一个答案,如果可能的话。
对我来说,有一段时间,将include virtual
交换到include file
似乎有所帮助,但几天之后再次破裂。我猜GoDaddy并没有完成对SSI配置的纠结。 O_O
截至今晚,解决方案是将所有 相对 路径转换为 绝对 规范。站点根目录。例如,我不得不转换:
<!--#include virtual="..\..\includes\nav.html" -->
要:
<!--#include virtual="\includes\nav.html" -->
使用这种方法,我能够将HTML文件包含在其他HTML文件中。
我在我的一个页面上发现了混合绝对和相对路径规范的内容。
HTH
答案 4 :(得分:0)
我在GoDaddy托管网站上经常看到这个问题。我必须进入服务器配置页面,禁用SSI,保存设置,然后重新启用SSI并选中“在.HTM和.HTML文件上使用SSI”,然后它再次开始工作。
问题在于GoDaddy的一面。出于某种原因,它忘记了它需要解析文件中的SSI,直到您关闭并打开该选项。他们的Tier-2支持仅建议在Include命令上使用Virtual而不是File ...这是荒谬的,因为这不仅不会改变事物,SSI包括大部分时间的工作......直到它没有吨。
答案 5 :(得分:0)
我还将旧的.html页面更新为.php,并在显示某些页面[在处理此指令时发生错误]时替换所有页面上的一些php include语句。
显示错误的页面也引用了一个旧的.ssi文件,即使在它指向的目录中也是如此。我将旧的包含代码删除到这些页面中不存在的.ssi文件中,并修复了错误。
答案 6 :(得分:0)
当你在这样的代码html文档中有这个
时会发生这个错误<!--#My awesome documentatacion-->
修复它删除#,就像这样
<!-- My awesome documentatacion-->