【问题标题】:SSI not working in htmlSSI 在 html 中不起作用
【发布时间】:2013-08-13 12:43:39
【问题描述】:

我已经浏览了这里的所有主题并尝试了所有方法,但我的 SSI 代码没有像应有的那样拉动 html 页面...

我已经尝试过的:

  • 与 godaddy 确认已启用 SSI
  • 尝试了<!--#include virtual="\menus\menu.html" --><!--#include file="\menus\menu.html" -->
  • 尝试将“menu.html”更改为“menu.shtml”

我被卡住了……这是怎么回事?

这是我的html:

<body>
<!--#include virtual="http://unifiedforunifat.com/menus/menu.html" -->
<div id="include">
</div>
</body>

【问题讨论】:

  • 如果您说“不拉动 html 页面”,您的意思是根本没有处理 SSI 部分(您在生成的 html 中重新获得了 cmets),还是没有包含任何内容?其他 SSI 命令是否有效,例如 echo
  • 嘿,感谢您的回复....我已经用这个简单的命令测试了 SSI: 成功了
  • 好吧...我真的不是 shtml 大师,你知道的。嗯,如果把include文件和shtml文件放在同一个目录呢?
  • 嘿,我搞定了....似乎 godaddy 不喜欢虚拟命令,然后您必须在与 html 文件相同的目录中找到相应的 .html 文件...。感谢您帮助先生。听者!

标签: html ssi


【解决方案1】:

您的问题是您包含脚本的外部网址。这不仅违反了在服务器端拥有脚本的意义,而且如果脚本可以通过这种方式访问​​,随机的人也可以查看它。

试试

<!--#include virtual="/menus/menu.html" -->

看来你的斜线是错误的方式。 \ 字符是 Windows 文件系统斜线,而不是大多数技术和 Linux/Mac OS 文件系统的标准 / 斜线。

如果virtual不起作用,你应该可以使用:

<!--#include file="/menus/menu.html" -->

根据http://nginx.org/en/docs/http/ngx_http_ssi_module.htmlvirtual指定包含请求,而file指定包含文件。

【讨论】:

    【解决方案2】:

    或者您可以编辑 .htaccess 文件以允许它们位于单独的文件夹中(并且本质上更整洁)。

    将以下命令添加到root.htaccess 文件的第一行:

    AddType text/x-server-parsed-html .html .htm
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2012-09-30
      • 1970-01-01
      • 2014-06-26
      • 2012-08-23
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多