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.

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.


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

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!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.