【发布时间】:2013-02-14 15:19:47
【问题描述】:
在我将服务器从 2.2 版本升级到 2.4 后,Server Side Include 中的某些表达式不再起作用,给我带来了一系列错误:
AH01337: 无法解析 expr "$SERVER_NAME = abc" in /var/www/err/ft.html.var:“$”附近的解析错误
AH01337: 无法解析 expr "!$REDIRECT_STATUS" in /var/www/err/tp.html:“$”附近的解析错误
AH01337: 无法解析 expr "$HTTP_HOST = /^([a-z]{2}\.)abc\.com/ && $SERVER_NAME = abc\.com" in /var/www/err/tp.html: 解析错误 靠近'$'
我知道这是由于某些ongoing effort 仅对所有配置指令使用一个名为 ap_expr 的变体。但是,在阅读文档后,我仍然不知道如何转换我的一些旧代码以反映这种变化:
<!--#if expr="! $REDIRECT_STATUS" -->
<!--#set var="REDIRECT_STATUS" value="404" -->
<!--#endif -->
<!--#if expr="$HTTP_HOST = /^([a-z]{2}\.)abc\.com/ && $SERVER_NAME = abc\.com" -->
<!--#set var="subdomain" value="$1" -->
<!--#else -->
<!--#set var="subdomain" value="" -->
<!--#endif -->
如果有人能指出如何更改上述内容以帮助我入门,我将不胜感激。谢谢!
【问题讨论】:
-
看看这个httpd.apache.org/docs/2.4/mod/… 似乎你必须打开它才能使用旧语法。
-
@244an,是的,我已经看到了。只是想学习新语法,以防将来不推荐使用该选项。
标签: apache2 expression ssi