Je veux régler le AllowOverride all
mais je ne sais pas comment le faire. J'ai trouvé le code suivant en recherchant 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?
<Directory>
directive requiert un argument de chemin.Réponses:
Si vous êtes sur Ubuntu, éditez le fichier
/etc/apache2/apache2.conf
(nous avons ici un exemple de/var/www
):et changez-le en;
puis,
Vous devrez peut-être également le faire
sudo a2enmod rewrite
pour activer la réécriture du module.la source
sudo a2enmod rewrite
, puis cela a fonctionné. Sur Ubuntu 14.04 LTS. J'espère que cela sera utile à quelqu'un.IncludeOptional conf-enabled/*.conf
à la dernière ligne de monapache2.conf
fichier. Mais il semble que ceapache2.conf
soit une priorité.L'objectif 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 dynamiquement 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 puissent vous empêcher de modifier certains paramètres de sécurité importants;
Si vous êtes le maître gestionnaire de configuration Apache, vous devez toujours utiliser
AllowOverride None
et transférer tous les exemples basés sur google que vous trouvez, basés sur les fichiers .htaccess, dans lesDirectory
sections des fichiers de configuration principaux. En tant que contenu .htaccess pour un.htaccess
fichier dans/my/path/to/a/directory
est identique à une<Directory /my/path/to/a/directory>
instruction, sauf que la.htaccess
modification de la configuration dynamique par requête HTTP ralentit votre serveur Web. Préférez toujours une configuration statique sans.htaccess
contrôles (et vous éviterez également les attaques de sécurité par.htaccess
altérations).Au fait, 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
comme une.htaccess
instruction de répertoire mais dans un fichier présent dans ce répertoire. Bien sûr, vous ne pouvez pas modifierAllowOverride
un.htaccess
car cette instruction gère le niveau de sécurité des.htaccess
fichiers.la source
Aller
your_severpath/apache_ver/conf/
Ouvrez le fichierhttpd.conf
dans le Bloc-notes.Trouvez cette ligne:
Supprimez le symbole de hachage:
Ensuite aller à
<Directory />
et changer pour:
Redémarrez ensuite votre serveur local.
la source
Order allow,deny
etAllow from all
sont pour Apache 2.2 et versions antérieures. Avec Apache 2.4, ces deux lignes sont remplacées parRequire all granted
comme indiqué dans d'autres réponses.Sous Linux, afin de relâcher l'accès à la racine du document, vous devez éditer le fichier suivant:
Et selon le niveau de répertoire auquel vous souhaitez assouplir l'accès, vous devez modifier la directive
à
Donc, en supposant que vous souhaitiez autoriser l'accès aux fichiers du répertoire / var / www / html, vous devez modifier les lignes suivantes à partir de:
à
la source
Si vous utilisez Linux, vous pouvez modifier le code dans le répertoire de
maintenant, trouvez ici la ligne de code un peu comme
Remplacez AllowOveride None par AllowOveride All
Maintenant, vous pouvez définir n'importe quel type de règle dans votre fichier .httacess à l'intérieur de vos répertoires si un autre système d'exploitation essaie simplement de trouver le fichier httpd.conf et de le modifier.
la source
now here fine the code line kinda like # 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. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
Je pense que vous voulez le mettre dans votre
httpd.conf
fichier au lieu du.htaccess
fichier.Je ne sais pas quel système d'exploitation vous utilisez, mais ce lien pour Ubuntu pourrait vous donner des indications sur ce qu'il faut faire.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
la source
Comme d'autres utilisateurs l'ont expliqué ici à propos de l'utilisation de la directive allowoveride, qui est utilisée pour donner l'autorisation d'utiliser .htaccess. une chose que je tiens à souligner que n'utilisez jamais allowoverride all si d'autres utilisateurs ont accès à l'écriture .htaccess au lieu d'utiliser allowoveride pour autoriser certains modules.
Comme au
AllowOverride AuthConfig mod_rewrite
lieu deParce qu'un module comme mod_mime peut rendre vos fichiers côté serveur sous forme de texte brut.
la source
Je rencontre également ce problème et j'ai trouvé la solution en 2 étapes ci-dessous: 1. Dans le dossier apache2, vous modifiez dans l'élément Directory en définissant "AllowOverride all" (devrait être "all" et non "none") 2. Dans le projet kohana dans le dossier www, renommez "example.htaccess" en ".htaccess"
Je l'ai fait sur Ubuntu. J'espère que cela vous aidera.
la source
Serveur d'entreprise Linux SuSE
Assurez-vous que vous modifiez le bon fichier https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
Dans ce cas
vhosts.d/*.conf
doit être éditéla source
De plus, ces réponses correctes votées à la hausse peuvent parfois voir la même erreur en raison de paramètres incompatibles et différents sur une
SSL
partie des configurations de serveur Web . (Évidemment, lorsque vous n'utilisez pas de.htaccess
fichier).la source