In an apache config file how can i concatenate two strings?
For example:
"hello" + "world"
// "helloworld"
Why?
One might want to do this to handle large Headers such as a Content-Security-Policy
below is an example of my CSP. You can see it is nicely formatted for maintainability but when being sent in the Headers it has unwanted whitespace.
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
Answers
I think you can declare variable like this : https://stackoverflow.com/a/15731921/6663198
Then, you can easily concatenate your variables
My best guess is to use either setenv or define directives to declare and define values and then simply refer it using
${VAR}
syntax as noted here.In principle, the below should work.
The server version for above references is – Apache 2.4
You can try like this:
So far the best I managed is to post-
edit*
the HeaderNote the extra space
before the
new-line char
not 100% great, a bit expensive and could back-fire a bit, but well this is a way to do it