Je veux tout régler sur AllowOverride all
Mais je ne sais pas comment le faire. J’ai trouvé le code suivant en cherchant sur Google et en le collant dans .htaccess
AllowOverride All
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?
Si vous êtes sur Ubuntu, éditez le fichier /etc/apache2/apache2.conf
(nous avons ici un exemple de /var/www
):
Options Indexes FollowSymLinks AllowOverride None Require all granted
et le changer pour;
Options Indexes FollowSymLinks AllowOverride All Require all granted
puis,
sudo service apache2 restart
Vous devrez peut-être également sudo a2enmod rewrite
pour activer la réécriture du module.
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 dynamic pour chaque application.
Si vous n’êtes pas l’administrateur du serveur, vous dépendez du niveau AllowOverride que ces administrateurs vous autorisent. Afin qu’ils puissent vous empêcher de modifier certains parameters de sécurité importants;
Si vous êtes le gestionnaire de configuration Apache maître, vous devez toujours utiliser AllowOverride None
et transférer tous les exemples google_based que vous avez trouvés, basés sur les fichiers .htaccess, dans les sections Directory
des fichiers de configuration principaux. En tant que contenu .htaccess pour un fichier .htaccess
dans /my/path/to/a/directory
est le même qu’un
instruction, sauf que le .htaccess
dynamic par HTTP -la demande de modification de la configuration ralentit votre serveur Web. Préférez toujours une configuration statique sans vérifications .htaccess
(et vous éviterez également les attaques de sécurité par des modifications .htaccess
).
Au fait, dans votre exemple, vous utilisez
et ce sera toujours faux, les instructions du répertoire contiennent toujours un chemin, comme
ou
ou
. Et bien sûr, cela ne peut pas être mis dans un fichier .htaccess
car un fichier .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 fichier .htaccess
car cette instruction gère le niveau de sécurité des fichiers .htaccess
.
Sous Linux, afin de détendre l’access à 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’access, vous devez modifier la directive.
AllowOverride None
à
AllowOverride All
Donc, en supposant que vous souhaitiez autoriser l’access aux fichiers du répertoire / var / www / html, vous devez modifier les lignes suivantes à partir de:
AllowOverride None
à
AllowOverride All
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
Puis aller
et changer pour:
Options FollowSymLinks AllowOverride All Order allow,deny Allow from all
Puis redémarrez votre serveur local.
Si vous utilisez Linux, vous pouvez modifier 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
Modifier le AllowOveride Aucun pour 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 essaie simplement de trouver le fichier de httpd.conf et de le modifier.
Je pense que vous voulez le définir dans votre fichier httpd.conf
au lieu du fichier .htaccess
.
Je ne suis pas sûr de savoir 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
Comme d’autres utilisateurs l’ont expliqué ici sur l’utilisation de la directive allowoveride, qui est utilisée pour autoriser l’utilisation de .htaccess. Une chose que je veux souligner, à savoir que jamais utiliser allowoverride, si les autres utilisateurs ont access à .htaccess, utilisent plutôt allowoveride pour autoriser certains modules.
Comme AllowOverride AuthConfig mod_rewrite
lieu de
AllowOverride All
Parce que le module comme mod_mime peut rendre vos fichiers côté serveur en texte brut.
Je rencontre également ce problème, et j’ai trouvé la solution en 2 étapes ci-dessous: 1. Dans le dossier apache2 activé par les sites, vous éditez dans l’élément Directory en définissant “AllowOverride all” (devrait être “tous” pas “aucun”) 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.
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 principal du serveur Apache. Évitez de changer ce fichier. Il contient principalement des instructions d’inclusion et des parameters globaux. Ecraser les parameters globaux dans les fichiers de configuration pertinents répertoriés ici. Modifiez les parameters spécifiques à l’hôte (tels que la racine du document) dans la configuration de votre hôte virtuel .
Dans ce cas, vhosts.d/*.conf
doit être modifié