Cómo hacer funcionar “.htaccess” en Apache2 y Debian 9
Para uno de los múltiples dominios alojados en un servidor Debian 9, necesité configurar el archivo .htaccess. Esta opción no viene habilitada por defecto, y me costó mucho dar con la solución. Después de muchos intentos, pruebas y errores, a continuación detallo el procedimiento que me pareció el más correcto (este procedimiento al parecer es especifico para Debian 9, puede variar el nombre y la ubicación del archivo en otras versiones de Linux).
Editar el archivo apache2.conf
$ sudo nano /etc/apache2/apache2.conf
en la sección de “default security model” encuentran la siguiente configuración:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Cambiar la acción None por All:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
Salimos del editor con Ctrl+x, grabamos con Y y [enter].
No olvidar activar le módulo de rewrite de apache2, para que funcionen los .htacces:
$ sudo a2enmod rewrite
Finalmente para que los cambios tengan efecto, reiniciamos el servicio de Apache2:
$ sudo service apache2 restart
Verificamos que el servicio se este ejecutándose correctamente:
$ sudo service apache2 status
Listo! Los archivos .htaccess funcionan para todos los dominios. Si quieren que algunos dominios, no tengan la funcionalidad de utilizar sus respectivos .htaccess, la configuración se debe hacer por cada directorio de dominio.
Referencia: https://medium.com/@jclopex/como-hacer-funcionar-htaccess-en-apache2-y-debian-9-28d16b2ef95a