Speak English? Click here to read my English blog!

Quelques utilisations de .htaccess

Posté par jbj le 15 nov 2007 dans Développement2 commentaires

Les fichiers de configuration d’Apache .htaccess sont très utilisés dans le développement web, notamment afin de mettre en place la réécriture d’url. Cependant .htaccess offre beaucoup plus de possibilités, souvent assez méconnues des développeurs.

Règles génériques concernant .htaccess

Il faut savoir que le fichier .htaccess est sollicité par le serveur web à chaque requête http. Par conséquent, si plus votre fichier est gros, plus votre serveur mettra de temps à traiter la requête…A vous de doser.
A noter aussi, le fichier .htaccess doit respecter une syntaxe stricte. Si après l’upload du fichier sur votre serveur, vous tombez sur une erreur 500, pas de doute, vous vous êtes plantés…

Création du fichier .htaccess

Le fichier .htaccess doit s’appeller .htaccess. Il n’y à pas d’autre syntaxe possible.
Sous Linux, un simple touch .htaccess suffira. Si vous êtes sous windows, votre os favori vous empêchera de créer ce fichier de manière classique. Pour ce faire, utiliser gvim (par exemple) et enregistrer le fichier sous.

Forcer le téléchargement de fichiers d’un certain type

Si vous proposez sur votre site des fichiers (pdf, mp3, etc) il est souvent plus sur de forcer le téléchargement plutot que de laisser le navigateur s’en occupper à sa guise (attention aux plantages avec de bon gros fichiers!)

<Files *.mp3>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>

Interdire le hotlinking

Le hotlinking consiste à appeller des images provenant d’un autre serveur que le sien.
Si la page est appellée très fréquemment, la consommation en bande passante du site hébergeant les images en prendra un coup…Heureusement, .htaccess permet d’interdire le hotlinking.
Le code suivant à un effet disuasif: il affichera l’image hotlink.jpg à la place de l’image désirée, sauf si le domaine appellant est votresite.com.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+.)?votresite.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/hotlink.jpg [L]

Restreindre l’acces à un domaine

Ici, tous les fichiers commençant par private ne seront visibles au utilisateurs uniquement si leur extension est .be. Il y a quelques mois lors de l’affaire Russie/Estonie, le gouvernement Estonien n’a pas eu d’autre choix que de couper l’acces au sites gouvernementaux à tout non -estonnien pour cause d’attaques intensives…

<Files private*>
Order Allow, Deny
Deny from all
Allow from .be
</Files>

Interdire l’acces à une addresse IP

Le titre parle de lui même…Remplacez simplement les 000 par l’adresse à bannir, sans enlever les points et autres antislashs. En trafiquant un poil ce code, on pourrait facilement interdire l’accès à une plage d’IPs.

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^000.000.000.000$
RewriteRule .* - [F]
Si vous avez aimé cet article, aidez-moi à le promouvoir en votant pour lui sur les sites suivants: Ces icones representent les sites de bookmarking social dans lesquels vos lecteurs peuvent partager et faire découvrir vos pages.
  • del.icio.us
  • Scoopeo
  • Tapemoi
  • Technorati
  • Tutmarks
  • Pioche
  • Blogasty
  • Diggons
  • Wikio
Tags: ,

2 commentaires

» Flux RSS des commentaires
  1. [...] EsUbuntu wrote an interesting post today onHere’s a quick excerptSous Linux, un simple touch . htaccess suffira…. [...]

  2. [...] JBJ’s Blog » Développement » Quelques utilisations de .htaccess [...]

Commenter