web-dev-qa-db-fra.com

httpd.conf AllowOverride All

J'essaie de supprimer le index.php de mon URL codeigniter. J'ai Apache24 avec codeigniter et ion auth. La seule façon de le faire fonctionner est de permettre à AllowOverride All.

Le code pertinent est:

<Directory "c:/Apache24/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

En utilisant AllowOverride None cela renvoie un code d'erreur 404. En utilisant AllowOverride All Ça marche.

Quelles sont les implications de sécurité avec cela sur un serveur de production?

13
Smudger

La directive AllowOverride est utilisée pour autoriser l'utilisation de .htaccess au sein du serveur Web pour permettre le remplacement de la configuration Apache par répertoire. Je crois que CI utilise mod_rewrites pour le faire fonctionner correctement. C'est pourquoi cela ne fonctionne que lorsque vous avez AllowOverride All parce que vous dites au serveur Web d'autoriser l'utilisation d'un fichier .htaccess que CI utilise. Voilà la réponse simple. Il ne s'agit pas de sécurité, c'est de l'utilisation de .htaccess des dossiers.

Vous devrez très probablement utiliser AllowOverride All pour utiliser codeigniter car c'est ainsi que cela fonctionne. L'utilisation de cette directive ne devrait pas poser de problème majeur de sécurité. En termes de sécurité, vous devriez aller bien. Juste n'utilisez pas AllowOverride All dans un <Directory /> bloquer.

Utilisez-le uniquement dans un répertoire Web spécifique. Voici ce que vous avez maintenant et cela devrait aller avec AllowOverride All.

<Directory "c:/Apache24/htdocs">

sans cette directive, .htaccess les fichiers ne fonctionneraient pas. Jetez un œil à la documentation pour une explication plus détaillée.

http://httpd.Apache.org/docs/current/mod/core.html#allowoverride

26
Panama Jack