Archives du mot-clé apache

Using .htaccess to block …

  1. How to block users from accessing your site based on their IP address
  2. How to prevent or allow directory listing?
  3. How to change the error documents – 404 Page Not Found, etc
  4. Using .htaccess for password protecting your folders
  5. Using .htaccess to block referrer spam
  6. Disable Hot-Linking of images and other files
  7. Redirect URLs using .htaccess
  8. Introduction to mod_rewrite and some basic examples
  9. Force SSL/https using .htaccess and mod_rewrite
  10. 301 Permanent redirects for parked domain names
  11. Enable CGI, SSI with .htaccess
  12. How to add Mime-Types using .htaccess
  13. Change default directory page
  14. Block Bad robots, spiders, crawlers and harvesters
  15. Make PHP to work in your HTML files with .htacess
  16. Change PHP variables using .htaccess
  17. HTTP Authentication with PHP running as CGI/SuExec
  18. Force www vs non-www to avoid duplicate content on Google
  19. Duplicate content fix index.html vs / (slash only)

 

Rédaction des fichiers .htaccess

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.

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.

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és 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 activé.

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.

viaRédaction des fichiers .htaccess – Forum OVH.

Internal Server Error et htaccess – Forum OVH

Apache/PHP/Drupal settings:

instructions très intéressantes, bien expliquées

via Internal Server Error et htaccess – Forum OVH.

Par exemple :

SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0

ErrorDocument 404 /index.php

# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
# There is no end quote below, for compatibility with Apache 1.3.
ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>

# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
#
# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# adapt and uncomment the following:
RewriteCond %{HTTP_HOST} ^exemple\.fr$ [NC]
RewriteRule ^(.*)$ http://www.exemple.fr/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment and adapt the following:
# RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
# RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

 

Erreur 500 et Premature end of script headers: index.php – Forum OVH

Internal Server Error

Lors d’une mise à jour d’un CMS, se souvenir que 777 est interdit par OVH. Mettre 604

via Erreur 500 et Premature end of script headers: index.php – Forum OVH. (voir la fin de la discussion, intéressante)