Les fichiers .htaccess sont des fichiers de configuration d'apache pouvant être placés dans n'importe quel répertoire de votre site web. Voici quelques astuces à connaître pour vos sites web.
Voici une liste de bouts de code un peu plus atypiques pour vos htaccess qu'une simple personnalisation d'erreur 404...
Traduisez directement vos pages web avec Google Translate
Si vous souhaitez traduire à la volée vos pages pour vos visiteurs étrangers. (Bon ok, c'est du Google Translate... mais c'est toujours mieux que rien !)
Vous n'aurez juste à appeler votre page: http://votresite.net/index.php/en pour qu'il soit traduit en anglais via Google.
Se passer de la dialogue demandant d'ouvrir ou enregistrer le contenu téléchargeable de son site
Quand vous téléchargez un fichier PDF ou AVI ... dans la majorité des cas, il vous est demandé si vous souhaitez ouvrir ou télécharger le fichier. Ce bout de code permet de se passer de cette dialog.
1.AddType application/octet-stream .pdf
2.AddType application/octet-stream .ziou p
3.AddType application/octet-stream .mov
Compressez vos fichiers web pour gagner en temps de chargement
Pour gagner en temps de chargement de vos pages web, il peut être intéressant de compresser certains types de fichiers comme vos CSS, JS ou RSS:
01.AddOutputFilterByType DEFLATE text/plain
02.AddOutputFilterByType DEFLATE text/html
03.AddOutputFilterByType DEFLATE text/xml
04.AddOutputFilterByType DEFLATE text/css
05.AddOutputFilterByType DEFLATE application/javascript
06.AddOutputFilterByType DEFLATE application/x-javascript
07.AddOutputFilterByType DEFLATE application/xml
08.AddOutputFilterByType DEFLATE application/xhtml+xml
09.AddOutputFilterByType DEFLATE application/rss+xml
en utilisant GZIP:
01.<IfModule mod_gzip.c>
02.mod_gzip_on Yes
03.mod_gzip_dechunk Yes
04.mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
05.mod_gzip_item_include handler ^cgi-script$
06.mod_gzip_item_include mime ^text/.*
07.mod_gzip_item_include mime ^application/x-javascript.*
08.mod_gzip_item_exclude mime ^image/.*
09.mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
10.</IfModule>
Mettre en cache client certains fichiers web pour gagner en performances
Encore une autre astuce pour gagner en temps de chargement:
1.<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
2.Header set Cache-Control "max-age=2592000"
3.</FilesMatch>
Attention, si vous modifiez les fichiers CSS / JS mis en cache, il faut penser à rajouter un paramètre en get comme ?maj=122 pour que le client retélécharge les fichiers modifiés.
Protégez vos images du hotlinking
Le hotlinking consiste à utiliser vos images, hébergées sur vos serveurs, sur un autre site (en général sans votre permission). En gros, les personnes vous volent et vos images et votre bande passante.
Pour remédier à ce problème, vous pouvez ajouter un fichier .htaccess dans le répertoire de vos images avec ce code:
1.RewriteEngine on
2.RewriteCond %{HTTP_REFERER} !^http://(www.)?lafermeduweb.net/.*$ [NC]
3.RewriteCond %{HTTP_REFERER} ^http://(www.)?site-voleur-qui-hotlink.com/.*$ [NC]
4.RewriteCond %{REQUEST_FILENAME} !/images/divers/grille.jpg$ [NC]
5.RewriteRule .(gif|jpg|jpeg|png)$ /images/divers/grille.jpg [R,L]
L'idée est de rediriger toutes les images hotlinkées vers une autre image.
Sur un autre site que TST, c'est qu'ils sont en train de nous voler notre bande passante (n'hésitez pas alors à lancer votre armée de pc zombies sur le site, ou tout simplement, de nous en avertir ).
Désactiver l'exploration de vos répertoires web
Il s'agit d'un grand classique, mais encore trop peu utilisé !
Il empêche aux personnes de fouiller dans vos répertoires serveur... et de trouver votre fichier plein de mot de passe... (Ne faites jamais ça !).
Bloquez les accès à son site web à une certaine IP ou un certain USER AGENT
Bloquer l'accès à son site à une IP malveillante
Bloquer l'accès à son site à un USER AGENT malveillant
1.<IfModule mod_rewrite.c>
2.SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
3.SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
4.Deny from env=HTTP_SAFE_BADBOT
5.</ifModule>
Bloquer l'accès à votre site aux visiteurs en provenance d'une URL spécifique
1.<IfModule mod_rewrite.c>
2.RewriteEngine on
3.RewriteCond %{HTTP_REFERER} domaineabloquer.com [NC,OR]
4.RewriteCond %{HTTP_REFERER} domaineabloquer2.com [NC,OR]
5.RewriteRule .* - [F]
6.</ifModule>
Si vous avez d'autres astuces, n'hésitez pas à les partager en commentaire !