Usando variáveis constantes na configuração do apache

3
<VirtualHost *:80>
SetEnv SITENAME testing
ServerName www.test.com

# Location of files
DocumentRoot "/www/${SITENAME}/site"
Alias /data "/www/data/${SITENAME}"
Alias /base "/www/${SITENAME}/base/site"

# Logging
ErrorLog "/var/log/httpd/${SITENAME}-error.log"
CustomLog "/var/log/httpd/${SITENAME}-access.log" combined
</VirtualHost>
  • Starting apache2 ... Warning: DocumentRoot [/www/${SITENAME}/site] does not exist

Uma leitura adicional da documentação fornece uma sugestão de que o SetEnv pode não ser vinculado com antecedência suficiente para ser usado em caminhos, e a alternativa sugerida SetEnvIf é baseada nas propriedades da requisição também.

Eu também vi exemplos usando o mod_vhost_alias, mas parece que não pega nada além do DocumentRoot e mesmo assim é necessário usar componentes do nome do servidor que não é o que eu quero.

O que eu quero é substituição de variável pura disponível quando a configuração é lida e utilizável em qualquer string (como #DEFINE em C). Minha versão do Apache é 2.2. Pode ser feito?

ATUALIZAÇÃO: Encontrei uma diretiva Define na documentação, mas ela não funciona (parece ser nova em 2.3). Eu acho que a questão agora é se há um módulo que suporta essa funcionalidade ou equivalente a 2.2?

    
por SpliFF 29.04.2011 / 03:26

1 resposta

2

Isso foi perguntado antes. O link está aqui:

Usando variáveis nos arquivos de configuração do Apache para reduzir a duplicação?

    
por 29.04.2011 / 08:20