Isso foi perguntado antes. O link está aqui:
Usando variáveis nos arquivos de configuração do Apache para reduzir a duplicação?
<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?
Isso foi perguntado antes. O link está aqui:
Usando variáveis nos arquivos de configuração do Apache para reduzir a duplicação?