Configure el file .htaccess para múltiples entornos

Estoy usando Git en mis proyectos y trabajo en una virtualbox local. El problema que encuentro es que a veces el file .htaccess remoto contiene un RewriteRule que impide que funcione correctamente en un entorno diferente.

Dado que los cambios se rastrean en Git, no puedo simplemente cambiar el .htaccess en la máquina local, sin tener que ignorar el estado del file modificado en Git.

He leído aquí sobre alguna solución setEnvIf , pero realmente no puedo pasarlo por alto para mi propio uso.

Fe si tuviera un file .htaccess:

RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] 

Quiero poder decir:

 <if not on local machine> RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] </if> 

O tal vez incluso hacer algo como

 If host = dev ... if host = acc ... 

estableciendo que el nombre de host dev siempre termina con ".dev" y acc es siempre como "acc. *"

Me gustaría tener alguna forma de arreglarlo lo más general posible para que no sea necesario cambiar las líneas para cada proyecto. El file .htaccess debe estar en control de versiones y debe ejecutarse en cada entorno sin la necesidad de cambiarlo. En este ejemplo, es una reescritura, pero también podría ser un documento de error o una contraseña, etc.

Espero haber explicado mi problema claramente. ¡Gracias!

Dennis

He cambiado mi enfoque. Me han informado que no es prudente tener forzados los files de configuration a través de un repository git.

He eliminado el .htaccess del repository e ignoro este file. Envío un file de ejemplo .htaccess, fe .htaccess-example. En cada entorno, puedo copyr este file a .htaccess y luego realizar los cambios locales necesarios.

Encontraré una manera de crear un deployscript para poder realizar cambios en el file .htacces copyndo un file .htaccess-production rastreado en .htaccess.