Formato correto para o Eval em um Apache 2.4 String no arquivo de configuração

1

Eu li a documentação sobre o Apache 2.4 Expr, mas não consigo fazê-lo funcionar no arquivo de configuração. Alguém pode me dar um exemplo de como formatar a expressão dentro de uma string? Os documentos dizem que o seguinte deve funcionar.

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

Mas quando eu corto e colo esse código no meu arquivo de configuração, recebo o seguinte erro:

Unrecognized header format %

Eu também tentei estes:

Header set exprResult "expr=tolower('MAKEMELOWERCASE')"
Header set exprResult "expr=%{tolower('MAKEMELOWERCASE')}"
Header set exprResult "(tolower('MAKEMELOWERCASE'))"
Header set exprResult "${tolower('MAKEMELOWERCASE')}"
    
por yetimoner 27.02.2016 / 02:14

1 resposta

1

Ok, assim que você tiver uma variável válida (Apache 2.4.7), isso funcionará:

Header set myHeaderName "%{REQUEST_URI}e"

Você só precisa acrescentar um 'e' ao final da string. Agora, definir suas próprias variáveis (para saída em uma string) é buggy. Declarar não funciona. Há uma solução alternativa embora. Use mod_rewrite para definir o var. Aqui está um exemplo.

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