在configuration文件中修改Apache 2.4string中的Eval格式

我已经阅读了Apache 2.4 Expr的文档,但无法使它在configuration文件中工作。 有人可以给我一个如何格式化expression式内的string的例子吗? 文档说下面应该工作。

# Function example in string context Header set foo-checksum "expr=%{md5:foo}" 

但是,当我剪切和粘贴到我的configuration文件的代码,我得到以下错误:

 Unrecognized header format % 

我也试过这些:

 Header set exprResult "expr=tolower('MAKEMELOWERCASE')" Header set exprResult "expr=%{tolower('MAKEMELOWERCASE')}" Header set exprResult "(tolower('MAKEMELOWERCASE'))" Header set exprResult "${tolower('MAKEMELOWERCASE')}" 

好的,一旦你有一个有效的variables(Apache 2.4.7),这将工作:

 Header set myHeaderName "%{REQUEST_URI}e" 

你只需要在string的末尾附加一个'e'。 现在设置你自己的variables(用于输出string)是错误的。 声明不起作用。 虽然有一个解决方法。 使用mod_rewrite来设置var。 这是一个例子。

 RewriteEngine on RewriteRule .* - [E=INFO_REQUEST_URI:%{REQUEST_URI}] Header set X-Request-URI "%{INFO_REQUEST_URI}e"