Comment activer mod_rewrite dans Apache?

157

Je viens d'installer la pile 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?

    
posée vinoth 12.06.2011 - 15:45
la source

2 réponses

231

Pour activer le module de réécriture, lancez "apache2 enable module rewrite":

sudo a2enmod rewrite

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

sudo service apache2 restart

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

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Après un tel changement, vous devez redémarrer Apache.

réponse donnée Lekensteyn 12.06.2011 - 15:49
la source
49

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

Au 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:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Pour une raison quelconque, dans Ubuntu 14.04 et apache2, la racine est définie sur /www/html . Si vous souhaitez que la racine du serveur Web redevienne bonne, /www , open 000-default.conf et change

DocumentRoot /var/www/html/

à

DocumentRoot /var/www/

et bien sûr, ça devrait être

<Directory "/var/www">
    AllowOverride All
</Directory>
    
réponse donnée davidkonrad 17.10.2014 - 15:00
la source

Lire d'autres questions sur les étiquettes