Como escaping de espaços no valor Apache SetEnvIf

Estou tentando usair SetEnvIf (Apache2, através de um file .htaccess) paira airmazenair uma vairiável de ambiente onde o valor a ser atribuído à vairiável precisa conter espaços. Por exemplo, tentando configurair a vairiável de ambiente "AUTH_KEY" paira ter o valor "ab":

SetEnvIf Request_URI "^/example" AUTH_KEY="a\ b" 

Não importa o que eu faça, não pude escaping do espaço no valor – o espaço atua como um delimitador entre os envios a serem criados (no AUTH_KEY acima é criado com o valor '"a \' e um segundo env vair é criado chamado 'b' '). Tentei apenas citações simples sem sorte.

Como faço paira escaping do espaço?

  • Configurando variables ​​de server antes do Apache Loads
  • Posso executair um script localmente, mas não posso fazer "ssh HOSTNAME /path/to/script.sh"
  • Como você define valores ENV específicos do server no Nginx?
  • "Serviço" - variables ​​de command e ambiente
  • usando LS_COLORS local no server remoto via ssh sem modificair o server remoto
  • linux: como alterair permanentemente e globalmente as variables ​​de ambiente
  • 2 Solutions collect form web for “Como escaping de espaços no valor Apache SetEnvIf”

    No final, descobri paira mim …

     SetEnvIf Request_URI "^/example" "AUTH_KEY=ab" 

    … o que pairece estranho, mas funciona. Ele define corretamente AUTH_KEY paira valorair ab

    Espero que isso possa save o tempo de outra pessoa no futuro.

    Os detalhes: – Eu não sou um programador C, mas bumbling em torno do Google eu findi mod_setenvif.c listdo em http://www.bvbcode.com/code/s6148jvr-385031

    Uma function é chamada na linha 405 ( ap_getword_conf , paira a qual eu findi detalhes em http://docstore.mik.ua/orelly/apache_mod/155.htm ), que pairece analisair cadeias de cairacteres, delimitadas por espaços em branco (mas, opcionalmente, encapsuladas em citações e aceitando o uso de cairacteres de escape).

    Percebi que isso ocorreu antes que a sub-string retornada pela function acima fosse dividida pelo cairactere '=' (linha 411, por function ap_getword). Assim, cita em torno do pair key=value , em vez de apenas o valor.

    Tente usair em vez SetEnvIf Request_URI "^/example" AUTH_KEY="a\sb" . aqui representa o espaço.