From: Lucien Gentis Voir aussi le How-To Authentification and
autorisation. Voir la documentation sur la fusion
+ des sections de configuration pour un avertissement à propos de la
+ manière dont la directive Les fichiers .htaccess fournissent une méthode pour
-modifier la configuration du serveur au niveau de chaque répertoire.
En général, les fichiers .htaccess utilisent la même
+
Les directives dans les fichiers .htaccess utilisent la même
syntaxe que les fichiers de
configuration principaux. Ce que vous pouvez mettre dans ces
- fichier est déterminé par la directive .htaccess. Si une
- directive est permise dans un fichier .htaccess file,
+ elles se trouvent dans un fichier .htaccess, alors que la
+ directive .htaccess,
la documentation de cette directive contiendra une section Override,
- spécifiant quelle valeur doit prendre
None. Cela signifie
+ que les fichiers .htaccess seront complètement ignorés, à moins
+ que vous ne les autorisiez explicitement pour un répertoire.Par exemple, si vous regardez la documentation de la directive
AllowOverride FileInfo pour que cette directive soit
traitée dans les fichiers .htaccess.
- | Contexte : | -configuration du serveur, serveur virtuel, directory, .htaccess | -
| Override: | -FileInfo | -
Si vous n'êtes pas sûr qu'une directive particulière soit permise
- dans un fichier .htaccess, lisez la documentation de
- cette directive, et consultez la ligne de contexte pour
- ".htaccess".
En principe, vous ne devriez utiliser les fichiers
- .htaccess que lorsque vous n'avez pas accès au fichier de
- configuration du serveur principal. Par exemple, la fausse
- idée
- selon laquelle l'authentification de l'utilisateur devrait toujours
- être faite dans les fichiers .htaccess est très
- répandue. Il est aussi souvent avancé, ces dernières
- années, que les directives de .htaccess. Ceci est
- tout simplement faux. Vous pouvez configurer
- l'authentification des utilisateurs au niveau de la configuration du
- serveur principal, et c'est en fait cette méthode qui doit être
- privilégiée. De même, les directives de
- mod_rewrite fonctionneront mieux, à de nombreux égards,
- dans le contexte du serveur principal.
Les fichiers .htaccess ne devraient être utilisés
- que dans le cas où les fournisseurs de contenu ont besoin de
- modifier la configuration du serveur au niveau d'un répertoire, mais
- ne possèdent pas l'accès root sur le système du serveur. Si
- l'administrateur du serveur ne souhaite pas effectuer des
- modifications de configuration incessantes, il peut être intéressant
- de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
- modifications par le biais de fichiers .htaccess. Ceci
- est particulièrement vrai dans le cas où le fournisseur d'accès Ã
- Internet héberge de nombreux sites d'utilisateurs sur un seul
- serveur, et souhaite que ces utilisateurs puissent modifier
- eux-mêmes leurs configurations.
Cependant et d'une manière générale, il vaut mieux éviter
- d'utiliser les fichiers .htaccess. Tout élément de
- configuration que vous pourriez vouloir mettre dans un fichier
- .htaccess, peut aussi être mis, et avec la même
- efficacité, dans une section
Il y a deux raisons principales d'éviter l'utilisation des
- fichiers .htaccess.
La première est liée aux performances. Lorsque la directive +
Si vous avez accès au fichier de configuration principal du serveur, il
+ est préférable dây mettre toute votre configuration, plutôt que dâutiliser
+ des fichiers .htaccess. Cela concerne lâauthentification de
+ lâutilisateur, les règles de .htaccess. Les
+ directives du fichier de configuration principal ne sont chargées quâune
+ seule fois au démarrage du serveur et non pas à chaque requête, et en
+ particulier,
Les fichiers .htaccess ne devraient être utilisés que dans
+ le cas où les fournisseurs de contenu ont besoin de modifier la
+ configuration du serveur au niveau d'un répertoire, mais ne possèdent pas
+ l'accès du superutilisateur sur le système du serveur. Cela est courant dans
+ les environnements dâhébergement géré, lâhébergement basé sur un panneau de
+ contrôle (comme cPanel ou Plesk) et les systèmes de gestion de contenu où
+ lâapplication fournit un fichier .htaccess avec sa
+ distribution. Si lâadministrateur du serveur nâa pas envie dâeffectuer des
+ changements de configuration incessants, il peut être intéressant de
+ permettre aux utilisateurs isolés d'effectuer eux-mêmes ces modifications
+ par le biais de fichiers .htaccess.
Il y a deux raisons de préférer le fichier de configuration principal
+ aux fichiers .htaccess : la performance et la sécurité.
Performance : Lorsque la directive
.htaccess,
httpd va rechercher leur présence dans chaque répertoire. Ainsi,
@@ -198,12 +168,12 @@ modifier la configuration du serveur au niveau de chaque répertoire.
/www/htdocs/exemple, httpd doit rechercher les
fichiers suivants :
- En conséquence, chaque accès à un fichier de ce répertoire nécessite 4 accès au système de fichiers supplémentaires pour @@ -213,8 +183,7 @@ modifier la configuration du serveur au niveau de chaque répertoire.
autorisés pour le répertoire/, ce qui est rarement le
cas.
- La seconde raison d'éviter l'utilisation des fichiers
- .htaccess est liée à la sécurité. Si vous permettez aux
+
Sécurité : Si vous permettez aux utilisateurs de modifier la configuration du serveur, il peut en résulter des conséquences sur lesquelles vous n'aurez aucun contrôle. Réfléchissez bien avant de donner ce privilège à vos @@ -227,6 +196,26 @@ modifier la configuration du serveur au niveau de chaque répertoire.
diriger les utilisateurs vers la documentation correspondante vous évitera bien des confusions ultérieures. +Si vous devez autoriser les fichiers .htaccess mais voulez
+ nâautoriser que lâutilisation de directives spécifiques au lieu de
+ catégories entières de directives, utilisez la directive
Avec cette configuration, toute directive non explicitement spécifiée
+ causera une erreur du serveur si elle est rencontrée dans un fichier
+ .htaccess. Câest un bon compromis entre possibilité et
+ impossibilité totales dâoutrepasser la configuration globale.
Notez que mettre un fichier .htaccess contenant une
directive dans un répertoire /www/htdocs/exemple
revient exactement au même que mettre la même directive dans une
@@ -250,12 +239,6 @@ modifier la configuration du serveur au niveau de chaque répertoire.
Cependant, la perte de performances sera moindre si vous
- définissez cette directive dans la configuration de
- votre serveur principal, car cette dernière ne sera chargée qu'une
- seule fois au moment du démarrage du serveur, alors qu'elle le sera
- à chaque accès dans le cas d'un fichier .htaccess.
L'utilisation des fichiers .htaccess peut être
entièrement désactivée en définissant la directive none :
Si vous accédez directement à ce point du document pour apprendre
- Ã effectuer une authentification, il est important de noter ceci. Il
- existe une fausse idée selon laquelle il serait nécessaire
- d'utiliser les fichiers .htaccess pour implémenter
- l'authentification par mot de passe. Ceci est tout simplement faux.
- Pour y parvenir, il est préférable de mettre les directives
- d'authentification dans une section .htaccess ne
- devraient être utilisés que dans le cas où vous n'avez pas accès au
- fichier de configuration du serveur principal. Voir ci-dessus pour savoir dans quels cas vous devez ou
- ne devez pas utiliser les fichiers .htaccess.
Ceci étant dit, si vous pensez que vous devez quand-même utiliser
- un fichier .htaccess, vous pouvez utiliser la
- configuration suivante :
Comme avec toute utilisation de fichier .htaccess, placer
+ ces directives dans une section .htaccess :
Contenu du fichier .htaccess :
Les fichiers .htaccess sont aussi couramment
- utilisés pour activer les SSI pour un répertoire particulier. Pour y
- parvenir, on utilise les directives de configuration suivantes,
- placées dans un fichier .htaccess enregistré dans le
- répertoire considéré :
Les fichiers .htaccess sont aussi utilisés pour activer les
+ SSI (Server Side Includes) pour un répertoire particulier. Pour y parvenir,
+ on utilise les directives de configuration suivantes, placées dans un
+ fichier .htaccess enregistré dans le répertoire considéré :
/images/ disparaît de cette même valeur de
remplacement. Il doit donc en être de même dans votre expression
rationnelle.
+Notez aussi que dans un contexte .htaccess, les expressions
+rationnelles sont recompilées à chaque requête, alors que dans un contexte de
+configuration principale, elle ne sont compilées quâune seule fois et mises en
+cache.
Veuillez vous référer à cette documentation
pour une étude détaillée de l'utilisation du module
-mod_rewrite.
En fin de compte, vous avez décidé d'utiliser un fichier
- .htaccess pour permettre l'exécution des programmes CGI
- dans un répertoire particulier. Pour y parvenir, vous pouvez
- utiliser la configuration suivante :
Vous pouvez utiliser un fichier .htaccess pour autoriser
+ lâexécution de programmes CGI dans un répertoire particulier. Pour y
+ parvenir, vous pouvez utiliser la configuration suivante :
Alternativement, si vous souhaitez que tous les fichiers d'un
@@ -471,14 +452,19 @@ SetHandler cgi-script
les directives que vous avez mises dans un fichier
.htaccess ne produisent pas l'effet désiré.
Le plus souvent, le problème vient du fait que la définition de
- la directive .htaccess. Vérifiez si une directive
- AllowOverride None n'affecte pas le répertoire où se
- trouve votre fichier. Un bon test consiste à mettre des directives
- dont la syntaxe est erronée dans votre ficher .htaccess
- et de recharger la page. Si aucune erreur n'est générée par le
+
Le plus souvent, le problème vient du fait que la définition de la
+ directive .htaccess.
+ Vérifiez si une directive AllowOverride None n'affecte pas le
+ répertoire où se trouve votre fichier. Un bon test consiste à mettre un mot
+ dénué de sens dans votre ficher .htaccess et de recharger la
+ page :
Si aucune erreur (HTTP 500) n'est générée par le
serveur, il est pratiquement certain qu'une directive
AllowOverride None affecte votre répertoire.
.htaccess n'est pas
permise.
-Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers .htaccess, soit
que vous n'avez tout simplement pas défini la directive
@@ -502,9 +489,9 @@ SetHandler cgi-script
Le journal des erreurs peut aussi vous signaler une erreur de syntaxe dans l'usage de la directive elle-même.
-Dans ce cas, le message d'erreur sera spécifique à l'erreur de syntaxe que vous avez commise.
diff --git a/docs/manual/programs/configure.xml.fr b/docs/manual/programs/configure.xml.fr index b138b499b0..cd38e0ce12 100644 --- a/docs/manual/programs/configure.xml.fr +++ b/docs/manual/programs/configure.xml.fr @@ -1,7 +1,7 @@ - + @@ -236,7 +236,8 @@sbindir est défini Ã
- EPREFIX/sbin.
+ EPREFIX/bin (comme
+ bindir).
--sharedstatedir=DIR