From: Lucien Gentis Cette directive permet de modifier les règles qui s'appliquent à la ligne
+ de requête HTTP (RFC 7230
+ §3.1.1) et aux champs des en-têtes des requêtes HTTP (RFC 7230
+ §3.2), qui s'appliquent maintenant par défaut ou en utilisant
+ l'option Avant l'introduction de cette directive, les interpréteurs de requêtes du
+ serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
+ n'étaient pas forcément conformes au protocole. RFC 7230 §9.4
+ Request Splitting et §9.5 Response
+ Smuggling ne rappellent que deux des risques potentiels induits par des
+ requêtes non conformes. Avec l'introduction de cette directive, toutes les
+ règles de grammaire de la spécification doivent être respectées dans le mode
+ d'opérations par défaut RFC 7230
+ §2.2 and 2.3 définit les "Caractères réservés" ainsi que les
+ "Caractères non réservés". Tous les autres caractères doivent être encodés
+ sous la forme %XX selon la spécification, et la RFC7230 se conforme à ces
+ instructions. Par défaut, l'option Il est fortement déconseillé aux utilisateurs d'utiliser les modes
+ d'opérations La consultation des messages enregistrés dans le journal
+ La section de la RFC 7230
+ §3.5 "Message Parsing Robustness" décrit les risques potentiels
+ induits par l'interprétation de messages contenant des blancs représentés
+ par un caractère autre que l'espace. Alors que les spécifications indiquent
+ qu'un et un seul espace sépare l'URI de la méthode et le protocole de l'URI,
+ le serveur HTTP Apache a toujours toléré des blancs constitués d'un ou
+ plusieurs espaces ou tabulations horizontales. L'option par défaut
+ La section de la RFC 7231
+ §4.1 "Request Methods" "Overview" indique que les serveurs doivent
+ renvoyer un message d'erreur lorsque la ligne de requête comporte une
+ méthode non supportée. C'est déjà le cas lorsque l'option
+ La section de la RFC 2616
+ §19.6 "Compatibility With Previous Versions" encouragait les
+ serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
+ cependant à son encontre via sa préconisation "Le souhait de supporter les
+ requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans RFC 2616 Appendix
+ A. A ce titre, l'option correspondrait à la plupart des formats graphiques de
l'Internet. La directive Redirect permet de faire correspondre une ancienne
- URL Ã une nouvelle en demandant au client d'aller chercher la ressource Ã
- une autre localisation. La directive L'ancien chemin URL est un chemin sensible à la casse
+ L'ancien URL-path est un chemin sensible à la casse
(décodé à l'aide de caractères %) commençant par un slash. Les
chemins relatifs ne sont pas autorisés.Strict
. Les options Unsafe
et
+ UnsafeURL
ont été ajoutées pour pouvoir restaurer les anciens
+ comportements nécessaires aux anciens modules et applications et aux agents
+ utilisateurs personnalisés considérés comme obsolètes. Ces règles
+ s'appliquant avant le traitement de la requête, elles doivent, pour être prises en
+ compte, être définies
+ au niveau global ou dans la première section par défaut du serveur virtuel
+ qui correspond à la requête considérée, par interface IP/port et non par
+ nom.Strict
.StrictURI
rejète toutes les
+ requêtes contenant des caractères non valides. Cette règle peut être
+ contournée en utilisant l'option UnsafeURI
qui permet de
+ supporter les agents utilisateur mal conçus.Unsafe
et UnsafeURI
, en particulier
+ pour les déploiements de serveurs ouverts sur l'extérieur et/ou accessibles
+ au public. Si un moniteur défectueux ou autre logiciel spécialisé ne
+ s'exécutant que sur un intranet nécessite une interface, les utilisateurs
+ ne doivent les utilisés qu'au sein d'un serveur virtuel bien spécifique et
+ sur un réseau privé.info
, pourra
+ vous aider à identifier de telles requêtes non conformes ainsi que leur
+ provenance. Les utilisateurs devront accorder une attention particulière aux
+ messages d'erreur de type 400 dans le journal access pour détecter les
+ requêtes apparemment valides mais rejetées.LenientWhitespace
continue d'accepter de telles requêtes en
+ provenance d'agents utilisateurs non conformes, mais l'administrateur est
+ encouragé à utiliser plutôt l'option StrictWhitespace
pour
+ imposer la présence d'exactement deux espaces dans la ligne de requête.
+ D'autres types de blancs comme les tabulations verticales, form feed
+ ou retour chariot seront alors rejetés et ne seront plus supportés.LenientMethods
est utilisée, mais les administrateurs ont la
+ possibilité de limiter les méthodes utilisées via l'option
+ RegisteredMethods
en enregistrant toute méthode non standard
+ via la directive Unsafe
est utilisée. L'option
+ RegisteredMethods
ne doit pas être utilisée
+ pour les serveurs mandataires car ces derniers ne connaissent pas les
+ méthodes supportées par les serveurs originaux.Require1.0
permet à l'utilisateur
+ d'inhiber le comportement induit par l'option par défaut
+ Allow0.9
.
Ensuite, toute requête commençant par chemin URL va +
Ensuite, toute requête commençant par URL-path va renvoyer une redirection au client vers l'URL cible. Tout - élément de chemin supplémentaire situé en aval du chemin - URL sera ajouté à l'URL cible.
+ élément de chemin supplémentaire situé en aval du URL-path sera + ajouté à l'URL cible.http://example.com/servicefoo.txt
. Pour des mises en
correspondance plus complexes utilisant la syntaxe des expressions, ne spécifiez pas
- d'argument chemin URL comme décrit ci-dessous. En outre,
+ d'argument URL-path comme décrit ci-dessous. En outre,
pour une mise en correspondance en utilisant les expressions
rationnelles, veuillez vous reporter à la directive Les directives de redirection ont priorité sur les directives - Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le - fichier de configuration. Les directives Redirect définies au sein - d'une section Location l'emportent sur les directives Redirect et - Alias comportant un argument chemin URL.
Les directives
Si aucun argument état n'est spécifié, la redirection sera temporaire (code HTTP 302). Le client est alors @@ -422,8 +425,7 @@ Redirect 303 "/three" "http://example.com/other"
Si une directive
Cette syntaxe est disponible à partir de la version 2.4.19 du
serveur HTTP Apache.
.htaccess
, le chemin de base du répertoire courant (autrement dit
le chemin URI qui représente le répertoire contenant ce fichier
-.htaccess
) est automatiquement supprimé au cours de la
-comparaison avec le modèle de la règle de réécriture, et automatiquement
+.htaccess
) est supprimé au cours de la
+comparaison avec le modèle de la règle de réécriture, et
ajouté lorsqu'une substitution relative (ne débutant pas par un slash
ou un nom de protocole) arrive à la fin d'un jeu de règles. Voir la directive