web-dev-qa-db-fra.com

Comment définir AllowOverride all

Je veux régler le AllowOverride all mais je ne sais pas comment le faire. J'ai trouvé le code suivant en effectuant une recherche sur Google et en le collant dans .htaccess:

<Directory>
        AllowOverride All
</Directory>

Mais après l'avoir collé, j'ai commencé à recevoir "Internal Server Error"

Quelqu'un peut-il me guider où mettre ce code ou comment le faire?

141
Munib

Si vous êtes sur Ubuntu, éditez le fichier /etc/Apache2/Apache2.conf (ici nous avons un exemple de /var/www):

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

et changez-le en;

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

ensuite,

Sudo service Apache2 restart

Vous devrez peut-être aussi utiliser Sudo a2enmod rewrite pour activer la réécriture du module.

282
Naveed

Le but principal de AllowOverride est que le gestionnaire des principaux fichiers de configuration d’Apache (celui qui se trouve dans/etc/Apache2/principalement) décide quelle partie de la configuration peut être modifiée de manière dynamique, chemin par chemin, par les applications. .

Si vous n'êtes pas l'administrateur du serveur, vous dépendez du niveau AllowOverride que ces administrateurs vous permettent. Afin qu'ils ne vous empêchent pas de modifier certains paramètres de sécurité importants;

Si vous êtes le gestionnaire de configuration Apache principal, vous devez toujours utiliser AllowOverride None et transférer tous les exemples basés sur Google trouvés, basés sur les fichiers .htaccess dans des sections Directory des fichiers de configuration principaux. En tant que contenu .htaccess pour un fichier .htaccess dans /my/path/to/a/directory est identique à une instruction <Directory /my/path/to/a/directory>, sauf que la modification de configuration de .htaccess dynamique par demande HTTP ralentit bas votre serveur web. Préférez toujours une configuration statique sans les vérifications .htaccess (et vous éviterez également les attaques de sécurité par .htaccess modifications).

En passant, dans votre exemple, vous utilisez <Directory> et ce sera toujours faux, les instructions de répertoire contiennent toujours un chemin, comme <Directory /> ou <Directory C:> ou <Directory /my/path/to/a/directory>. Et bien sûr, cela ne peut pas être mis dans un .htaccess car un .htaccess est comme une instruction Directory mais dans un fichier présent dans ce répertoire. Bien sûr, vous ne pouvez pas modifier AllowOverride dans un .htaccess car cette instruction gère le niveau de sécurité de .htaccess fichiers. .

44
regilero

Aller à your_severpath/Apache_ver/conf/ Ouvrez le fichier httpd.conf dans le Bloc-notes.

Trouvez cette ligne:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

Supprimez le symbole de hachage:

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Alors allez <Directory />

et passer à:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Puis redémarrez votre serveur local.

16
Achintya Nayak

Sous Linux, afin de détendre l’accès à la racine du document, vous devez éditer le fichier suivant:

/etc/httpd/conf/httpd.conf

Et selon le niveau de répertoire auquel vous souhaitez assouplir l'accès, vous devez modifier la directive.

AllowOverride None

à

AllowOverride All

Ainsi, en supposant que vous souhaitiez autoriser l'accès aux fichiers du répertoire/var/www/html, vous devez modifier les lignes suivantes:

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

à

<Directory "/var/www/html">
 AllowOverride All
</Directory>
13
Javier La Banca

Si vous utilisez Linux, vous pouvez éditer le code dans le répertoire de

/etc/httpd/conf/httpd.conf

maintenant, voici la ligne de code un peu comme

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None
#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

Remplacez AllowOveride None par AllowOveride All

Maintenant, vous pouvez définir n’importe quel type de règle dans votre fichier .httacess dans vos répertoires si un autre système d’exploitation tente de trouver le fichier httpd.conf et de le modifier.

8
SAR

Comme d'autres utilisateurs l'ont expliqué à propos de l'utilisation de allowoveride, qui permet d'autoriser l'utilisation de .htaccess. Une chose que je tiens à souligner, c'est que n'utilisez jamais allowoverride si tous les autres utilisateurs ont accès à écrire .htaccess, utilisez plutôt allowoveride pour autoriser certains modules.

Tels que AllowOverride AuthConfig mod_rewrite au lieu de

AllowOverride All

Parce que module comme mod_mime peut rendre vos fichiers côté serveur en texte brut.

5
Abhishek Gurjar

Je pense que vous voulez le définir dans votre fichier httpd.conf à la place du fichier .htaccess.

Je ne suis pas sûr du système d'exploitation que vous utilisez, mais ce lien pour Ubuntu peut vous donner des indications sur ce qu'il faut faire.

https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles

5
Qben

J'ai également rencontré ce problème et j'ai trouvé la solution en 2 étapes ci-dessous: 1. Dans le dossier Apache2 activé pour les sites, vous modifiez l'élément Directory en définissant "AllowOverride all" (doit être "all", pas "none") 2. Dans le projet kohana du dossier www, renommez "example.htaccess" en ".htaccess".

Je l'ai fait sur Ubuntu. J'espère que cela vous aidera.

1
Quang Le

SuSE Linux Enterprise Server

Assurez-vous d’éditer le bon fichier https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_Apache2_configuration.html

httpd.conf

Le fichier de configuration du serveur Apache principal. Évitez de modifier ce fichier. Il contient principalement des instructions include et des paramètres globaux. Remplacez les paramètres globaux dans les fichiers de configuration pertinents listés ici. Modifiez les paramètres spécifiques à l’hôte (tels que la racine du document) dans votre configuration d’hôte virtuel .

Dans ce cas, vhosts.d/*.conf doit être modifié

0
escalator