Codes pour .htaccess

Le .htaccess est bien pratique pour rediriger des pages... mais il sait faire bien plus pour modifier le comportement de votre serveur web !

1. Créer une page d'erreur 404

Vous pouvez aussi créer des pages pour chaque type d'erreur ou juste pour la 404 la plus fréquente. Vous pouvez rediriger le visiteur vers la page de votre choix : partie droite du code :
ErrorDocument 401 /erreurs/401.php
ErrorDocument 403 /erreurs/403.php
ErrorDocument 404 /erreurs/404.php
ErrorDocument 500 /erreurs/500.php

2. Bloquer certaines IP

Vous pouvez interdire l'accès à tout votre site ou juste un dossier à certaines IP en utilisant le code suivant :
allow from all
deny from 145.186.14.122
deny from 124.15
Ce code redirige vers une page 403 "forbidden"

3. Rediriger comme un pro SEO

Rediriger vers une nouvelle adresse prise en compte par Google :
Redirect 301 /dossier/fichier.html http://www.nouveausite.com/dossier/fichier.html

4. Changer le contact admin

Spécifier l'adresse email par défaut de l'administrateur du serveur. Utile si cet email n'est pas le même que le domaine :
ServerSignature EMail
SetEnv SERVER_ADMIN bill.boquet@gmail.com

5. Interdire le Hotlinking

Empêcher de lier vos images sur d'autres pages web et ainsi préserver votre bande passante :
Options +FollowSymlinks
# Protection sur le Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domaine.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domaine.com/img/petiteimage.png [nc]
Vous veillerez à ce que le fichier petiteimage.png soit de petite taille ou vous pouvez afficher sur l'image un petit message (amical ou non) pour ceux qui ont inclus votre image sur leur site :)

6. Interdire les applications

Empêcher d'afficher le site dans certaines applications par le UserAgent de celle-ci :
## Bloquer ces user-Agent
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
Order Allow,Deny
Allow from all
Deny from env=bad_bot
Vous pouvez donc même bloquer IE :) Poursuivons nos autres astuces magiques ...

7. Rediriger selon la provenance ...

Redirgier tout le monde quelque part sauf certaines IP :
ErrorDocument 403 http://www.domaine.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123

8. Servir une autre page que index

Vous pouvez forcer l'affichage d'une autre page par défaut que index.html/home.html ou index.php en spécifiant la page que vous désirez :
DirectoryIndex autrepage.html

9. Rediriger tout un site aux bons endroits

Vous avez juste changé le nom de domaine mais les pages ont toujours le même nom. Vous voulez donc que les moteurs comme Google et vos visiteurs arrivent sur les mêmes pages que sur celle qu'ils cherchaient. Cette redirection fonctionne à merveille :
RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.com/$1 [R=301,L]

10. Mettre du PHP dans du HTML

Le code suivant permet de transformer les fichiers images .jpg en PHP. Il suffit donc de renommer votre page en PHP en fichier avec une extension .jpg et de l'appeller dans une image pour que le code s'exécute ...
AddType application/x-httpd-php .jpg
Pensez à faire bien attention avec les fichiers .htaccess car une erreur peut causer de gros dégâts sur le site : faites donc une copie de chaque version précédente qui fonctionne pour chacune de vos modifications :)

Sommaire