Inclusão condicional para o arquivo .htaccess

1

é possível incluir condicionalmente outro arquivo no arquivo htaccess. Quando trabalho localmente, as configurações do meu apache são diferentes do meu servidor remoto.

Cada vez que eu puxo as alterações através do git para o site do palco (que compartilha as mesmas configurações do servidor live) eu tenho que aplicar um patch ao meu htaccess:

diff --git a/.htaccess b/.htaccess
index 4733ffa..1b39d24 100644
--- a/.htaccess
+++ b/.htaccess
@@ -2,6 +2,15 @@
 # Apache/PHP/Drupal settings:
 #

+############################################
+## uncomment these lines for CGI mode
+## make sure to specify the correct cgi php binary file name
+## it might be /cgi-bin/php-cgi
+
+  Action php5-cgi /cgi-bin/php5-cgi
+  AddHandler php5-cgi .php
+
+

Existe uma maneira de incluí-lo condicionalmente no meu arquivo htaccess? Assim, eu poderia apenas gitignore este arquivo de inclusão particular.

Eu poderia fazer um gancho, mas eu não sou bem versado e não estou interessado em investir tempo neste momento para aprender isso.

P.S. Se você está curioso para saber o que o meu patch faz, ele fornece as diretivas do servidor de estágio para onde executar o php como cgi.

    
por chrisjlee 15.02.2012 / 16:16

2 respostas

2

O Apache permite as diretivas <IfDefine> e <IfModule> dentro dos arquivos .htaccess .

Se você quiser usar <IfDefine> , o Apache precisa ser iniciado como httpd -Dsomedefinition . Veja aqui .

<IfModule> é útil se você quiser que apenas algumas diretivas sejam ativadas se um determinado módulo do Apache for carregado (por exemplo, se mod_perl tiver sido carregado). Veja aqui .

    
por 15.02.2012 / 16:23
1

O .htaccess não suporta o uso da diretiva Include, ponto final.

O que você deve fazer é definir a ação do php no httpd.conf no servidor intermediário.

Esta será uma configuração global se não for substituída em qualquer lugar a jusante.

    
por 15.02.2012 / 16:23

Tags