363 votes

.htaccess : Commande 'RewriteEngine' non valide, peut-être mal orthographiée ou définie par un module non inclus dans la configuration du serveur.

J'ai cette erreur lorsque j'essaie de parcourir les fichiers php localement

[Fri Apr 13 19:16:40 2012] [alert] [client 127.0.0.1] C:/AppServ/www/hr-website/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://127.0.0.1/

Quel est le problème ?

14 votes

Le module mod_rewrite n'est pas installé.

88 votes

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

25 votes

Aujourd'hui, sous Ubuntu, vous pouvez lancer a2enmod rewrite qui est un raccourci pour créer le lien symbolique - manpages.ubuntu.com/manpages/zesty/man8/a2enmod.8.html

510voto

scibuff Points 5796

Sous Apache 2+ vous pouvez simplement procéder comme suit (en utilisant le terminal Linux) :

sudo a2enmod rewrite && sudo service apache2 restart

ou

sudo a2enmod rewrite && sudo /etc/init.d/apache2 restart

23 votes

+1, c'est une meilleure solution parce qu'elle ne nécessite pas d'éditer des fichiers, mais plutôt d'utiliser une commande intégrée à apache2.

409voto

Jon Lin Points 88615

ou défini par un module non inclus dans la configuration du serveur

Vérifiez que vous avez mod_rewrite a permis.

De : https://webdevdoor.com/php/mod_rewrite-Windows-apache-url-rewriting

  1. Trouvez le fichier httpd.conf (en général, vous le trouverez dans un dossier appelé conf, config ou quelque chose de ce genre).
  2. Dans le fichier httpd.conf, décommentez la ligne LoadModule rewrite_module modules/mod_rewrite.so (supprimez le signe dièse '#' devant la ligne).
  3. Vérifiez également que la ligne ClearModuleList n'est pas commentée, puis vérifiez que la ligne AddModule mod_rewrite.c n'est pas commentée.

Si le LoadModule rewrite_module modules/mod_rewrite.so est absente du fichier httpd.conf, ajoutez-la.

Exemple de commande

Pour activer le module dans un ubuntu standard, procédez comme suit :

a2enmod rewrite
systemctl restart apache2

1 votes

J'ai déjà décommenté LoadModule rewrite_module modules/mod_rewrite.so mais la même erreur se produit

21 votes

@Bader n'oubliez pas de redémarrer apache

1 votes

Cela a été le cas pour moi. J'étais très frustré jusqu'à ce que je tombe sur cette réponse. Je pense que cette erreur doit être commune aux utilisateurs qui ont récemment installé php.

50voto

Hardik Thaker Points 1035

Il suffit de suivre les étapes simples 1-2-3 :

1) Allez dans la barre des tâches

2) Cliquez sur l'icône WAMP (clic gauche)

enter image description here

3) Allez maintenant dans Apache > Services > Apache Module ! si ce n'est pas le cas, cliquez dessus ! WAMP sera automatiquement redémarré et vous avez terminé !

enter image description here

15voto

Loz Cherone ツ Points 17975

Je vois que vous utilisez AppServ, mod_rewrite est désactivé par défaut sur ce paquet WAMP (je viens de le chercher sur Google).

Solution :

Trouver : C:/AppServ/Apache/conf/httpd.conf fichier.

et décomprimez cette ligne #LoadModule rewrite_module modules/mod_rewrite.so

Redémarrer apache... Simplez

1voto

Ken Ingram Points 312

Cette erreur s'est produite pour moi parce que mod_rewrite n'était pas activé. Tout a bien fonctionné après avoir activé le module de réécriture : https://www.debuntu.org/how-to-enable-apache-modules-under-debian-based-system-page-2/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X