我想在一堆页面中包含一个标题,如下所示:
header.html :
<html> <head> <title>My site</title> </head>
要启用页面特定的标题,我试图使用我在每个页面中设置的SSIvariables:
page1.html :
<!--#set var="TITLE" value="first page" --> <!--#include file="header.html" -->
然后我修改header.html使用该variables:
<title>My site - <!--#echo var="TITLE" --></title>
这工作正常,但当然,它有不幸的效果,如果没有设置TITLE ,结果是:
<title>My site - (none)</title>
所以我试图有条件地echo应该variables的各种尝试取决于它是否没有(例如, <!--#if expr="TITLE != \(none\)" --> ... <!--#endif--> )…但似乎没有任何工作。
似乎这将是一个相当普遍的要求。 有没有人有一个工作解决scheme的参考?
好的,自己解决吧。 供他人参考:
<!--#if expr="${TITLE}!=''" -->
是使用正确的语法。 因为可以configuration未定义的文本值,所以您不必检查“(none)”; 我只是没有意识到发生后,检查价值,而不是之前。
我已经成功地使用了这个:
<!--#if expr="! $CONTENT_LANGUAGE" --> <!--#set var="CONTENT_LANGUAGE" value="en" --> <!--#endif -->
对于Apache 2.4, expression式已经改变:
<!--#if expr="-zv('CONTENT_LANGUAGE')"--> <!--#set var="CONTENT_LANGUAGE" value="en"--> <!--#endif-->