Activation du fichier .htaccess pour réécrire le chemin (ne fonctionne pas)

17

Tous les tutoriels me disent de modifier le: /etc/apache2/sites-available/defaultmais ce fichier n'existe pas pour moi. Dans ce fichier, je devrais modifier le:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

À quoi devrait ressembler le fichier et dois-je le créer moi-même?

De plus, j'ai un 000-default.conffichier mais le «code» ci-dessus n'est pas là non plus.

en contrôle
la source

Réponses:

59

Pour apache version 2.4 et versions ultérieures, vous devez vous rendre sur

/etc/apache2/apache2.conf

Vous devez modifier ce fichier (vous devez avoir l'autorisation root). Changer le texte du répertoire comme ceci;

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Redémarrez maintenant apache.

service apache2 restart

Esperons que ça marche.

Nabil
la source
Pouvez-vous expliquer ce que cela signifie? Comment cela rejoint-il le .htaccess? Mon .htaccess à ne pas être lu du tout.
chx101
1
La ligne importante ici est AllowOverride All, cela signifie que tous les paramètres peuvent être définis (remplacés) dans les .htaccessfichiers. Voir les documents: httpd.apache.org/docs/2.4/mod/core.html#allowoverride
jacwah
18

Ubuntu 14.04 (et Apache 2.4), le DocumentRoot par défaut est passé de / var / www à / var / www / html.

activer d'abord a2enmod

sudo a2enmod rewrite 

et

sudo service apache2 restart

sudo nano /etc/apache2/sites-enabled/000-default.conf

ajoutez ces lignes à la fin

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

et

sudo service apache2 restart
alicanozkara
la source
1
Cette solution fonctionne pour moi car je dois d'abord activer mod_rewrite. Merci beaucoup.
kishor10d
1
Cela a vraiment fonctionné pour apache 2.4. J'ai sauvé ma journée. Même après avoir modifié maing apache2.conf .htaccess n'a pas fonctionné mais de cette façon cela a fonctionné.
Faisal Sarfraz
9

Si vous ne souhaitez pas répéter la même configuration à chaque mise à niveau / mise à jour

La meilleure façon est:

Modifier ou créer un fichier de configuration

/etc/apache2/conf-available/httpd.conf

Ajouter

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Activez le fichier de configuration

sudo a2enconf httpd

Redémarrez ou rechargez Apache

sudo service apache2 restart

ou

sudo service apache2 reload

C'est fait!

zatamine
la source