apache 服务器中文文档,服务器端包含 - [ Apache2.2中文手册 ] - 在线原生手册 - php中文网...

除了分离内容,Apache SSI还有设置变量的操作,并且还可以将这些变量用在比较和条件表达式中。

本文中讨论的大多数功能仅在Apache1.2及更新版本中有效。如果你运行的不是Apache1.2及更新版本,请立刻或者尽快升级,现在就动手,我们会等你弄好了再继续往下讲。

使用set指令可以设置变量以备后用,其语法是:

除了设置字面变量以外,还可以设置其他任何变量,比如环境变量和此前提到过的一些变量(如LAST_MODIFIED),作为你的专用变量。在变量名前面缀以"$",表示它是一个变量,而不是一个字面字符串。

若要在字面字符串中使用"$",必须使用转义符号"\$":

最后,如果要在较长的字符串中使用变量,可以用花括号把变量名括起来,以免变量名与其他字符混淆(要对这种情况举例说明有点难度,但还是希望你能领会)。

有了变量,就可以设置和比较它们的值以表示条件,SSI也因此成为一种简洁的编程语言。mod_include提供了if, elif, else, endif等结构以构造条件语句,从同一个页面高效地产生多个逻辑页面。

条件结构如下:

test_condition可以是任何逻辑比较:可以是一个值和另一个值比较,也可以是测试一个特定的值是否为"真"(一个给定的字符串如果非空则为真)。完整的比较操作符列表,参见mod_include 。以下是可能会用到的一些例子。

在配置文件中,可以这样设置:

BrowserMatchNoCase macintosh Mac

BrowserMatchNoCase MSIE InternetExplorer

如果客户端在Macintosh上运行Internet Explorer,则上例设置环境变量"Mac"和"InternetExplorer"都为真。

然后,在允许SSI的文档中,可以这样设置:

Apologetic text goes here

Cool JavaScript code goes here

我一点也不反对在Mac上运行IE,只是上个星期我花了好几个小时试图在Mac上的IE中使用JavaScript,而它在其他地方都能正常运作,以上只是一个临时的妥协方案。

任何其他变量(或者是你定义的,或者是标准的环境变量)都可以用于条件语句。利用Apache的SetEnvIf以及其他相关指令设置环境变量,此功能可以很好地实现动态页面而无须借助于CGI。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值