Un programador web organizado utilizará habitualmente dos servidores:
En estas condiciones es complicado mantener un archivo .htaccess ya que las directivas que funcionan
en desarrollo pueden no hacerlo en producción y viceversa. Los respectivos servidores Apache pueden tener
módulos diferentes o tratarse de versiones diferentes. También podemos necesitar configuraciones distintas.
Puesto que el archivo está situado en la raíz de la web y no puede moverse ni renombrarse, es engorrosisímo
mantener dos copias, gestionarlas aparte del resto de archivos y conseguir no romper nunca nada.
Lo que haremos será tener un único archivo .htaccess con las directivas para ambos servidores y
diferenciar entre ambas a la hora de aplicarlas con la directiva <IfDefine>.
El primer paso es añadir un parámetro a uno de los servidores para poderlo distinguir. Lo haremos en el de
desarrollo, entre otros motivos porque es en el que podemos trastear. Esto se consigue con la opción
-D de Apache (ojo, debe ser una D mayúscula). Y me refiero a que debemos usar esa opción como
argumento en línea de comandos para el ejecutable de Apache:
httpd -Dparámetro
En nuestro caso, el parámetro se va a llamar servidor-de-desarrollo. Que no cunda el pánico: es más
fácil de lo que parece.
Si el servidor web se ejecuta como servicio de Windows las opciones se especifican en el registro. Abrimos el
editor del registro con un usuario con privilegios de administrador:
Inicio→Ejecutar→regedit.
¡Ojito! Regedit es la herramienta que pone en tu mano la forma más elegante de dañar el sistema operativo. Úsala bajo tu exclusiva responsabilidad y no toques nada si no estás seguro.
Localizamos la clave Parameters correspondiente. En el caso de Apache 2 sería HKLM\ SYSTEM\
CurrentControlSet\ Services\ Apache2\ Parameters.
Modificamos el valor ConfigArgs y agregamos los argumentos adicionales. Podemos usar retornos de
carro
para poner cada cosa en una línea y que quede más claro (milagrosamente funciona).
-D
servidor-de-desarrollo
Los cambios se harán efectivos al reiniciar el servicio. Si instalaste Apache con el instalador encontrarás un icono etiquetado Restart en el grupo de programas de Apache (sí, hombre, en Inicio→Programas→Apache HTTP Server). Si no, puedes gestionar el servicio como cualquier otro servicio de Windows (Inicio→Programas→Herramientas administrativas→Servicios).
El método para Red Hat, Fedora y distros de la familia se reduce a editar el archivo
/etc/sysconfig/httpd:
Es muy importante que no haya espacios después de la -D. Reiniciamos el daemon y listo:
service httpd restart
Nota: Lamentablemente no soy usuario del 99% de las distribuciones de Linux. Si quieres contarme cómo se hace en tu distro lo añadiré aquí con crédito a su autor.
Una vez configurado el servidor (en Windows o Linux, que lo mismo da), ya podemos utilizar el identificador
servidor-de-desarrollo
con la directiva <IfDefine> para crear contenedores donde aplicar directivas de forma
selectiva.
Un ejemplo:
Esta página ha sido impresa el miércoles 12 de agosto de 2026 (15:08:10 +0200) desde https://borrame.com/documentacion/apache/un-.htaccess-para-todos.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.
Lorem ipsum dolor sit amet.
© 2005-2026 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com