【问题标题】:Server Side Includes: variable in <!--#if not found, #echo prints content服务器端包含:<!--#if not found 中的变量,#echo 打印内容
【发布时间】:2020-01-03 23:25:51
【问题描述】:

我想用&lt;!--#if expr='-F %{foo}' --&gt; 检查文件是否存在,但apaches error.log 说该变量不存在。 &lt;!--#echo var="foo" --&gt; 工作正常。

我从一个具有硬编码值的文件开始,它工作正常。现在我想创建一个可以包含在其他几个文件中的参数化 sn-p。

<!--#set var="foo" value="/path/to/file" -->

<!--#echo var="foo" --><br>

<!--#if expr='-F %{foo}' -->
exists<br>
<!--#else -->
doesn't exist<br>
<!--#endif -->

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

我希望输出

/路径/到/文件 存在 /路径/到/文件

但是我收到一条错误消息,指出 apaches error.log 中不存在该变量:

AH01337:无法解析 expr "-F %{foo}":变量 'foo' 不存在

如果你问我,那不是 01337...

【问题讨论】:

    标签: html apache debian server-side-includes


    【解决方案1】:

    查看mod_include documentation about flow controlApache Expressions Syntax 会发现两件事可能会干扰此处并导致此问题:

    所以我假设有两种不同类型的变量,只有一种(服务器提供的变量)可以与%{…} 语法一起使用。 (是的,这些引用变量的不同方式也让我感到困惑。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多