在apache配置中连接两个字符串

时间:2018-07-27 10:58:41

标签: string apache string-concatenation

在apache配置文件中,如何连接两个字符串?

例如:

"hello" + "world"
// "helloworld"

为什么?

我的CSP的示例可能是想处理大型标头,例如下面的Content-Security-Policy。您可以看到它具有很好的可维护性格式,但是在标头中发送时,它有多余的空格。

Header set Content-Security-Policy "\
;default-src\
    'self'\
;child-src\
    'self'\
;connect-src\
    'self'\
;font-src\
    'self'\
    https://*.gstatic.com\
;form-action\
    'self';\
;frame-ancestors\
    'self'\
;frame-src\
    'self'\
;img-src\
    'self'\
    https://www.google.com/s2/favicons\
    https://www.google-analytics.com\
    https://*.gstatic.com\
    https://*.googleapis.com\
;object-src\
    'none'\
;script-src\
    'self'\
    'unsafe-eval'\
    https://www.google-analytics.com\
    https://*.googleapis.com\
;style-src\
    'self'\
    'unsafe-inline'\
    https://*.googleapis.com\
;\
"

5 个答案:

答案 0 :(得分:3)

我认为您可以像这样声明变量:https://stackoverflow.com/a/15731921/6663198
然后,您可以轻松地连接变量

答案 1 :(得分:0)

OIDCScope "profile email openid offline_access"
OIDCRemoteUserClaim  sub

<Location "/app2">
    AuthType openid-connect
    Require valid-user
    ProxyPass   "http://192.168.10.237/myapp"
    ProxyPassReverse  "http://192.168.10.237/myapp"

    RewriteEngine On
    RewriteRule .* - [E=PROXY_USER:%{LA-U:REMOTE_USER}] 
    RequestHeader set REMOTE_USER  %{PROXY_USER}e
</Location>

</VirtualHost>

答案 2 :(得分:0)

我最好的猜测是使用setenvdefine指令声明和定义值,然后简单地使用here指出的${VAR}语法引用它。

原则上,以下方法应该起作用。

$httpd -DTestCaseOne
  

...

<IfDefine TestCaseOne>
  Define dir_name_one media
  Define dir_name_two images
</IfDefine>
  

...

Include "/etc/httpd/sites/${dir_name_one}-${dir_name_two}/env.conf"

上述参考的服务器版本为-Apache 2.4

答案 3 :(得分:0)

您可以尝试这样:

set $text = 'text';  
set $additional "${text}additional";

答案 4 :(得分:0)

到目前为止,我管理的最好的方法是张贴edit* 标题

注意 换行符前的额外空格 \

Header set Content-Security-Policy "\
;default-src \
    'self' \
;child-src \
    'self' \
;connect-src \
    'self' \
"

# Remove unwanted whitespaces
Header edit* Content-Security-Policy "\s\s\s\s" ""

不是 100% 好,有点贵,可能会适得其反,但这是一种方法