Comment puis-je activer mod_rewrite dans apache sur Ubuntu?

13

Comment activez-vous mod_rewrite avec Apache dans Ubuntu 10.04?

J'ai essayé de copier rewrite.loadde /etc/apache2/mods-availableà etc/apache2/mods-enabledmais cela n'a pas fonctionné.

Nathan Osman
la source

Réponses:

20

Essayez ceci sudo a2enmod rewrite:, puis redémarrez apache.

Rwky
la source
4

La réponse d'Obsidian pour utiliser a2enmod est la bonne solution. La méthode d'Andol fonctionnerait, mais pourrait échouer lors de la mise à niveau. Ce que fait a2enmod est simplement de créer un lien symbolique, donc les deux suivants sont la même solution, tous deux appropriés:

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

ou

  a2enmod rewrite

Cependant, a2enmod recherchera d'autres types de fichiers, certains ont .conf et peut-être d'autres. Il n'y a aucune raison de ne pas apprendre cette commande, mais il est important de savoir ce qui se passe en arrière-plan.

La copie du fichier rendrait tout futur administrateur très mécontent de vous. :)

Justin Alan Ryan
la source
Eh bien, c'est juste pour des tests locaux, donc ce n'est pas grave. Mais a2enmodc'est plus facile de toute façon.
Nathan Osman
2

En fait, tout en étant le mauvais type de solution, la copie de rewrite.load de ./mods-available/ vers ./mods-enabled/ aurait dû fonctionner. Avez-vous pensé à redémarrer votre apache par la suite?

Dans tous les cas, ./mods-enabled/ devrait généralement contenir des liens symboliques vers les fichiers correspondants dans ./mods-available/ . Ceci est, comme mentionné par Obsidian, plus facile à gérer par les commandes a2enmod et a2dismod.

En plus d'activer le module, vous devrez également activer la réécriture. Avant de pouvoir écrire vos RewriteCond : s et RewriteRule : s, il doit y avoir un " RewriteEngine On " dans ce contexte de configuration.

andol
la source
Ça marche aussi. N'oubliez pas de définir les bonnes autorisations sur les liens symboliques dans les mods activés ... ou vous vous arracherez les cheveux.
Nathan Osman