Comment activer mod_rewrite dans Apache?

Je viens d’installer la stack LAMP sur mon système Ubuntu.

La redirection ne fonctionne pas pour moi. Je ne sais pas comment le réparer. Quelqu’un peut-il m’aider?

Pour activer le module de réécriture, exécutez “apache2 enable module rewrite”:

 sudo a2enmod rewrite 

Vous devez redémarrer le serveur Web pour appliquer les modifications:

 sudo service apache2 restart 

Si vous envisagez d’utiliser mod_rewrite dans .htaccess fichiers .htaccess , vous devez également activer l’utilisation des fichiers .htaccess en AllowOverride None par AllowOverride FileInfo . Pour le site Web par défaut, éditez /etc/apache2/sites-available/default :

   Options Indexes FollowSymLinks MultiViews # changed from None to FileInfo AllowOverride FileInfo Order allow,deny allow from all  

Après une telle modification, vous devez redémarrer Apache.

  • Documentation Apache sur AllowOverride
  • Page de manuel de a2enmod

J’ose append une réponse spéciale (pour faire suite à l’excellente réponse ci-dessus) concernant Ubuntu 14.04 et .htaccess :

Dans 14.04, le nom du fichier de configuration par défaut est remplacé par 000-default.conf :

 sudo gedit /etc/apache2/sites-available/000-default.conf 

ajoutez ce qui suit à la fin du fichier:

  AllowOverride All  

Pour une raison quelconque, dans Ubuntu 14.04 et apache2, la racine est définie sur /www/html . Si vous souhaitez rétablir la racine du serveur Web en bon vieux /www , open 000-default.conf et modifiez-le.

 DocumentRoot /var/www/html/ 

à

 DocumentRoot /var/www/ 

et puis bien sûr il devrait être

  AllowOverride All