0

我们有一个多年来一直使用服务器端包含的页面。最近它停止工作了。没有对页面进行任何更改

<!--#include virtual="..\..\includes\nav.include" -->

在名为contact.html的页面底部附近

'nav.include' 页面只包含导航栏的 html。没有 JavaScript。没有服务器端脚本。只是html。

是否有一些设置需要设置以使 SSI 以这里实现的方式工作(包括在 html 文件中具有不常见扩展名的文件)?

4

7 回答 7

1

你在使用 GoDaddy 吗?他们对我的网站做了同样的事情,我在他们的论坛上发现有人说使用包含文件而不是虚拟包含。

于 2013-06-19T00:10:30.737 回答
1

我昨天发现的一个解决方案:

  1. 我将所有页面复制并重命名为 .php(保留原始 html 文件以防万一!)
  2. 我已将所有 {<#include virtual="folder_name/file_name.ext" -->} 替换为

        <?php include "folder_name/file_name.ext" ; ?> 
    

    根据页面在我的文件夹层次结构中的位置,使用适当数量的点和斜线。(上面的 {} 仅用于标记代码)

  3. 最后,我将原始 index.html 重命名为其他名称,以便选择 index.php 而不是 index.html

这似乎正在解决 - 我仍在测试所有页面和链接 - 一个非常乏味和耗时的练习!

包括语法:

在 php 文件中使用

    <?php include "..//folder_name/file_name.ext" ; ?>

在 html 文件中使用

    <!--#include virtual="../folder_name/file_name.ext" -->

在上述语法中使用“...”的数量和“///”的数量进行实验以获得正确的组合!!!!

  1. 对我来说,我包含的所有内容都是位于 webroot 下的文件夹 ABC 中的小 html 文件。
  2. 对于 ABC 的同级文件夹下的页面,即直接在 webroot 下的其他文件夹中的页面,“..//”是有效的点和斜线的数量。
  3. 对于直接位于 webroot 中的页面(即不在 webroot 内的任何文件夹中),没有任何点或斜线的文件夹名称/文件名称.ext 已经起作用。
  4. 我没有时间检查层次结构中任何其他级别所需的点和破折号的数量!

我希望这有帮助!

于 2013-06-21T06:42:14.757 回答
1

刚切换到 Godaddy 服务器,我的 SSI 停止工作。我用以下内容制作了一个 .txt 文件:

AddHandler 服务器解析的 .html

我将它上传到公共 html 文件夹,然后将其重命名为 .htaccess,一切都开始工作了。

于 2015-01-03T06:36:34.563 回答
0

我有太多文件无法将所有扩展转换为 PHP,所以如果可能的话,我必须找到另一个答案。

对我来说,有一段时间,交换include virtualinclude file似乎有帮助,但几天后它又坏了。我猜 GoDaddy 并没有完成对 SSI 配置的胡闹。o_O

截至今晚,解决方案是将所有相对路径转换为关于站点根目录的绝对规范。例如,我必须转换:

<!--#include virtual="..\..\includes\nav.html" -->

到:

<!--#include virtual="\includes\nav.html" -->

使用这种方法,我能够将 HTML 文件包含在其他 HTML 文件中。

我在我的一个混合了绝对和相对路径规范的页面上发现了这一点。

高温高压

于 2013-07-04T03:42:37.477 回答
0

我经常在我的 GoDaddy 托管网站上看到这个问题。我必须进入服务器配置页面,禁用 SSI,保存设置,然后重新启用 SSI 并选中“在 .HTM 和 .HTML 文件上使用 SSI),然后它又开始工作了。

问题出在 GoDaddy 这边。出于某种原因,它忘记了它需要解析文件中的 SSI,直到您关闭并打开该选项。他们的第 2 层支持仅建议在 Include 命令上使用 Virtual 而不是 File……这很荒谬,因为这不仅不会改变任何事情,而且 SSI 在大多数情况下都可以正常工作……直到它没有吨。

于 2014-05-12T01:41:41.260 回答
0

当某些页面显示时,我还将旧的 .html 页面更新为 .php 并替换所有页面上的一些 php include 语句[处理此指令时发生错误]。

显示错误的页面还引用了一个旧的 .ssi 文件,该文件甚至不在它指向的目录中。我删除了那些页面中不存在的 .ssi 文件的旧包含代码,从而修复了错误。

于 2014-06-17T19:54:34.957 回答
0

当您的代码中有这样的 html 文档时,会发生此错误

<!--#My awesome documentatacion-->

修复它删除#,像这样

<!-- My awesome documentatacion-->
于 2016-05-01T03:28:09.167 回答