所以我正在学习如何正确使用SSI并在一个站点上成功完成。在我在相同服务器上构建的新站点上我在尝试使用标记时遇到错误[处理此指令时出错]我已通过使用SSI显示时间和日期没有问题来验证SSI已启用。我还验证了拼写,并且目录和文件都在服务器上。不确定是什么问题,可以部分启用SSI(允许我显示时间但不允许包含虚拟)?我错过了一些明显的东西吗谢谢你们!
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!--#include virtual="/ssi/navbar.html" -->
<h1>Hello, world!</h1>
<!--#echo var="DATE_LOCAL" -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
答案 0 :(得分:1)
您的SSI标记包含/ssi/navbar.html
。由于它以/
开头,因此它将被解析为基于服务器文档根目录的完整路径。
http://christianstest.info/ssi/navbar.html
然而,那是404 Not Found
。我假设你试图包括这个:
http://christianstest.info/TestingServers/ComeRestTest/ssi/navbar.html
您可能只需删除SSI标记中的前导/
即可。 virtual
指定相对于当前页面的URL路径,但您将其指向服务器的根目录。
<!--#include virtual="ssi/navbar.html" -->