web-dev-qa-db-fra.com

Comment activer mod_rewrite dans LAMP sur Ubuntu?

J'utilise Ubuntu 12.04 LTS linux sur ma machine. J'ai déjà installé LAMP dessus. Maintenant, je veux activer le module mod_rewrite. J'ai fait beaucoup de recherches sur Google et essayé de nombreuses astuces, mais je n'ai pas pu activer mod_rewrite. Quelqu'un peut-il m'aider à activer le mod_rewrite? Merci d'avance.

16
PHPLover

Version TL; DR - procédez comme suit dans votre terminal:

Sudo a2enmod rewrite && Sudo service Apache2 restart

Avec des explications - procédez comme suit dans votre terminal:

ls -l /etc/Apache2/mods-available/rewrite.load    ///if it prints out rewrite.load, it's there and ready to go

Sudo a2enmod rewrite   //enables the mod

ls -l /etc/Apache2/mods-enabled/rewrite.load // shows created symlink

Sudo vi /etc/Apache2/sites-available/default   //opens the file in vi (you can also use vim or nano)

Remplacez les occurrences de "AllowOverride None" par "AllowOverride all" si nécessaire

Sudo service Apache2 restart    ///restarts Apache

Modifiez votre entrée d'hôte virtuel dans/etc/Apache2/sites-available et ajoutez AllowOverride All au DocumentRoot. Votre hôte virtuel devrait finalement ressembler à ceci:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com
  <Directory /var/www/vhosts/example.com>
    AllowOverride all
  </Directory>
</VirtualHost>

Bien que cela ne convienne pas aux environnements de production, cela fonctionne très bien pour le développement local.

66
mikedugan

Vous n'avez pas mentionné les commandes que vous avez essayées, je vais donc commencer par la commande de base:

Sudo a2enmod rewrite

Vous pouvez également vérifier si la réécriture de mod est déjà activée en utilisant:

Apache2ctl -M
6
jmarceli