Rédaction des fichiers .htaccess
----------------------------------
Outre les soucis directement liés à la syntaxe et/ou à la logique, il faut prendre garde, lors de la rédaction des fichiers .htaccess (et accessoirement .htpasswd) au format du fichier produit. *Il en va de même pour le fichier de configuration .ovhconfig.
Ces fichiers doivent être strictement compatible avec les systèmes Unix/Linux faute de quoi ils risquent d'être mal interprétés, voire de
ne pas être pris en compte du tout et même d'occasionner un erreur 500.
1 - Caractères légaux
L'erreur le plus courante consiste à employer un traitement de texte, par exemple Word, pour la rédaction. Ces logiciels sont à écarter car ils peuvent introduire des symboles illégaux invisibles dans le texte.
De même, faire une action de copier/coller de textes d'origines diverses présente aussi le risque de récupérer des caractères indésirables.
En effet, seuls les caractères ANSI/ASCII peuvent être employés, ce qui exclu notamment les accents, cédilles, et autres caractères spéciaux.
Si vous utilisez un système d'exploitation Microsoft, une bonne attitude est de taper le texte avec l'utilitaire
notepad.exe en prenant garde toutefois à le bien sauvegarder avec l'option de codage ANSI, car l'option UTF-8 possède l’inconvénient d'introduire 3 symboles invisibles en début (cela s'appelle le BOM -
Byte Order Mark de valeurs hexadécimales CFBBBF) incompatibles avec le serveur.
*Si vous utilisez un système d'exploitation Mac, le logiciel
TextEdit est configuré par défaut pour produire un texte codé en RTF. Ce codage étant incompatible il convient de sélectionner dans les options le mode 'Texte'.
Le logiciel
Notepad++ aussi est conseillé, mais comme il offre quantité d'options, il peut être d'un maniement délicat.
2 - Fins de ligne (ou retours chariot)
Les systèmes Unix et assimilés considèrent le symbole
line feed [LF] comme unique marqueur de fin de ligne, alors que les systèmes Apple ont choisi le symbole
carriage return [CR].
Microsoft, sans doute pour mettre tout le monde d'accord, a retenu pour sa part la combinaison [CRLF] soit les valeurs hexadécimales 0D0A.
Votre texte doit donc indiquer les fins de ligne par le symbole [LF] pour être compatible.
Les logiciels client FTP récents sont généralement programmé pour effectuer la conversion des fins de lignes de votre système d'exploitation vers les symboles Unix.
C'est le cas de
Filezilla où vous pouvez vérifier par Edition-> Paramètres-> Transferts-> Types de fichiers si le coche de "Traiter les fichiers dont le nom commence par un point comme des fichiers ASCII" est bien mis.
Bien entendu les heureux utilisateurs des systèmes Linux ne sont pas concernés par ce second point !
3 - L'arme fatale
En définitive si vous voulez être parfaitement sûrs de votre fichier vous pouvez le contrôler avec un éditeur hexadécimal comme
Winhex ou équivalent en vous basant sur les indications précédentes.
Un petit conseil pour finir : ne vous décourager pas si votre fichier ne semble pas passer, videz le cache de votre navigateur avant chaque nouvelle tentative.
----------------------------
*Mise à jour au 28/12/14