好的......试图在2.4
中编写SSI的新方法那里的任何SSI大师都可以提供帮助......我真的很感激。
我的代码与
上的SSILegacyExprParser一起使用http://path-to-webpage?dynContent=AboutUs
<!--#set var="dynContent" value="" -->
<!--#if expr="$QUERY_STRING = /dynContent=([a-zA-Z0-9]+)/" -->
<!--#set var="dynContent" value="$1" -->
<!--#else -->
<!--#set var="dynContent" value="default" -->
<!--#endif -->
<!--#echo var="dynContent" -->
预期响应是关于,否则默认
我试图重新编写这一行,使其在没有SSILegacyExprParser的Apache 2.4中工作....
<!--#set var="dynContent" value="" -->
<!--#if expr="(%{QUERY_STRING} =~ /dynContent=([a-zA-Z0-9]+)/)" -->
<!--#set var="dynContent" value="$0" -->
<!--#else -->
<!--#set var="dynContent" value="default" -->
<!--#endif -->
这部分有效。 我收到回复,因为dynContent = AboutUs
我真的需要它回馈AboutUs,否则回退到默认
知道我怎么能得到这个吗?
答案 0 :(得分:1)
好的......这需要大量的研究和一些运气.....大多数运气: - )
我让这个工作....我理解旧的使用正则表达式PRE Apache 2.4但我不明白Apache 2.4后的正则表达式.....但我确实得到了这个工作。 这是我使用的代码。
<!--#set var="dynContent" value="" -->
<!--#if expr="v('QUERY_STRING') =~ /(dynContent=)(.*)/ && $2 =~ /(.*)/" -->
<!--#set var="dynContent" value="$0" -->
<!--#else -->
<!--#set var="dynContent" value="default" -->
<!--#endif -->
我现在可以在页面中使用它以及包含网页的变量
<!--#echo var="dynContent" -->
<!--#include virtual="/path-to-page/${dynContent}.shtml" -->
如果有人可以向我解释......请做....我想尝试理解它。