Por regla general en un servicio de hosting ya tendremos activado el modulo mod_rewrite del servidor web Apache. Si no fuera el caso, deberíamos consultar con los administradores del hosting.
Si por contra, estamos haciendo pruebas con un servidor propio, una máquina física o virtualizada con el servidor Apache o con LAMP deberemos activar el modulo mod_rewrite.
La función de este modulo es la de hacer las URL más amigables. Esto es hacerlas más sencillas, más comprensibles. Es bueno para el SEO y muchas aplicaciones web como WordPress o Prestashop usan esta característica.
Para activarlo abrimos una terminal y ejecutamos:
sudo a2enmod rewrite
Y reiniciamos Apache
sudo /etc/init.d/apache2 force-reload
Con esto queda disponible para nuestras aplicaciones web esta característica.
Actualización: Lo anterior puede ser insuficiente si usamos dominios virtuales. En estos debemos habilitar el modulo en su archivo de configuración. Estos están en /etc/apache2/sites-enabled/dominio.com. Donde dominio es el archivo de configuración del dominio. lo abrimos por ejemplo con un:
sudo nano /etc/apache2/sites-available/dominio.com
y buscamos las claves AllowOverride None y las cambiamos por AllowOverride All. Y guardamos y reiniciamos Apache.