6

我有一个简单的.shtml文件,我在其中声明了一个变量。

<!--#set var="testVar" value="12345" -->

但是当我想使用打印值时

<!--#echo var="testVar" -->

它说

找不到变量“testVar”

有什么问题?我正在使用 IIS 7.5,我也在 Apache2 上进行了测试,但它也无法正常工作!

4

5 回答 5

1

我遇到过同样的问题。就我而言,我在主文件中设置了一个变量,并尝试在包含的模板中读取它。

解决方案是<!--#set在声明之后放置<!DOCTYPE

于 2015-02-12T19:47:00.367 回答
1

这对我来说很好:

<!--#set var="testVar" value="12345" -->
<!--#echo var="testVar" -->

您是否正确配置了 Apache?您可能需要打开mod_include。正确配置后,以下代码应输出日期:

<!--#echo var="DATE_LOCAL" -->
于 2013-10-08T04:55:48.763 回答
1

IIS 不支持您的代码。

<!--#set var="testVar" value="12345" -->

IIS 不支持 #set 这就是它响应的原因。“找不到变量‘testVar’”,因为它从未被创建。

Windows 服务器和 Apache 服务器具有相同的模块名称 (SSI),并且它们使用相同的语法。但!Apache 服务器支持 #set 和其他命令,如 Windows 服务器不支持的 #if #else 等。所以混乱就完成了。

有关可以在 IIS 中使用的命令列表: 关于 IIS 上的 SSI 的 MSDN 博客

于 2015-05-05T10:50:56.177 回答
0

我认为您需要在变量前面使用“$”来引用变量,如下所示:

<!--#echo var="$testVar" -->
于 2012-08-23T13:47:50.993 回答
0

尝试,

<!--#echo encoding="entity" var="testVar" -->

如果没有,请使用 $testVar 确保您的变量被视为变量。

于 2014-01-01T10:01:36.887 回答