PDF Imprimer Envoyer

15 Astuces .htaccess

Voici ci-dessous une liste de petites astuces bien pratiques concernant le .htaccess. Ca ne marche pas toujours en fonction de l'hébergeur, mais lorsque c'est le cas, ça a l'intérêt d'être efficace.


Autoriser le listage (browsing) d'un répertoire

Il est parfois intéressant d'autoriser le parcous d'un certain groupe de répertoire. De plus, avec les lignes ci-dessous vous pouvez cacher les fichiers qui portent une certaine extension :

Options +Indexes
## empêcher la visualisation de certaines extensions
IndexIgnore *.wmv *.mp4 *.avi


Empêcher le listage (browsing) de tous les répertoires

Pour empêcher le listage de tout un groupe de répetroires :

Options All -Indexes


Messages d'erreur customizés

Créez les pages forbidden.html (pour l'erreur 403), notfound.html (pour l'erreur 404) et servererror.html (pour l'erreur 500) puis ajouter ces lignes :

ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html


Faire marcher les SSI avec le HTML/SHTML

AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
# AddHandler server-parsed .htm


Définir une page d'index différente de index.html

Si vous souhaitez que votre page d'accueil soit home.htm à la place de index.htm, voilà les lignes à insérer. Apache vérifiera les fichiers dans l'ordre de la liste ci-dessous :

DirectoryIndex home.htm index.htm index.php


Bloquer l'accès au site (condition sur IP)

Bloquer l'accès à certaines IP pour votre site :

<limit GET POST PUT>
order deny,allow
deny from 202.54.122.33
deny from 8.70.44.53
deny from .spammers.com
allow from all
</limit>


Autoriser l'accès au site à une plage d'IP

Dans cette exemple on autorise l'accès qu'au utiilsateur de notre propre réseau (plage 192.168.0.0 à 198.168.0.24) :

order deny,allow
deny from all
allow from 192.168.0.0/24


Bloquer l'accès au site (condition sur referer)

Si vous n'aimez pas les visiteurs d'un certain site... bloquez les :

RewriteEngine on
RewriteCond %{HTTP_REFERER} site-to-block\.com [NC]
RewriteCond %{HTTP_REFERER} site-to-block-2\.com [NC]
RewriteRule .* - [F]


Empêcher la lecture de certains fichiers :

Vous voulez empêcher certains fichier d'être accessible en lecture par le net sans toucher aux droits des fichiers :

<files file-name>
#file-name est le nom de votre fichier
order allow,deny
deny from all
</files>


Eviter l'erreur 500 en spécifiant l'encodage

# Avoid 500 error by passing charset
AddDefaultCharset utf-8


Autoriser l'accès à un répertoire pour vos script CGI

Options +ExecCGI
AddHandler cgi-script cgi pl
# Pour autoriser tout les scripts dans un repertoire
# SetHandler cgi-script


Cacher l'extension de vos pages/scripts

AddType application/x-httpd-php .gne

gne sera traité comme un fichier php! De manière équivalente on peut mettre x-httpd-cgi pour des scripts CGI.



Vérifier la syntaxe des URLs appelées par le visiteur

Parfois les visiteurs tapent directement l'adresse d'un fichier mais se trompent d'une ou plusieurs lettre. L'extension mod_spelling est là pour corriger le problème :

CheckSpelling On


Utilisez GZip pour sauver de la bande passante :

# BEGIN GZIP
<ifmodule mod_deflate.c>
# Mettre les deux lignes suivantes en une seule
# Ici je les ai séparées pour l'affichage du site
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml
text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP


Désactiver les MagicQuotes  

<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>
Mise à jour le Vendredi, 24 Juillet 2009 15:51
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir