Blackotine


Articles récents
Liens amis
Liens références
Latest bookmarks
Shared stuff
Recent tracks
Tag cloud

Posting tweet...

Les fichiers .htaccess, exemples et astuces

Les fichiers .htaccess sont de puissants outils permettant de modifier la configuration du serveur web Apache de manière localisée, pour un site voire, pour un répertoire.

Voici quelques exemples utiles à utiliser sur vos sites.
Attention toutefois, car la moindre erreur de syntaxe provoquera une erreur interne sur le serveur et rendra votre site indisponible. Pensez donc à toujours garder une copie de sauvegarde permettant de revenir en arrière.

Création du fichier :

Il suffit de créer un fichier avec n’importe quel éditeur de texte et de le nommer .htaccess, sans extension. Sous Windows, il est impossible de créer un fichier .htaccess. Si vous avez des difficultés, vous pouvez utiliser un autre explorateur de fichier comme, par exemple, un logiciel de transfert FTP du type Filezilla

Ensuite, il faudra mettre ce fichier à la racine d’un répertoire pour que les règles qu’il contient s’appliquent à tous les sous-répertoires.

Créer une page d’erreur personnalisée

Bien souvent, on néglige ces pages par manque de temps ou d’intérêt. Elles sont pourtant très importantes car elles permettent aux visiteurs de rester sur le site. On peut alors, par exemple, choisir de le réorienter par le biais d’un plan de site.

Dans le fichier .htaccess il suffit d’inscrire ces lignes

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Comment faire pour configurer le fuseau horaire sur votre serveur

SetEnv TZ Europe/Paris

Bloquer des adresses IP

Permet d’empêcher certaines adresses IP d’accéder à la totalité de votre site ou un répertoire.

allow from all
deny from 145.186.14.122
deny from 124.15

Quand quelqu’un essaiera d’accéder à votre site à partir de l’IP interdite, il verra un message d’erreur 403 « accès interdit ».

Redirections permanentes

Très utilisées pour la SEO, les redirections permanentes 301 pour les mauvais ou anciens liens déplacés ou supprimés.

Redirect 301 /mapage.html http://www.monsite.com/manouvellepage.html

Redirections de domaine

Pour rediriger chacune des pages d’un domaine vers la même page sur un autre domaine.

RewriteCond %{HTTP_HOST} ^www\.mon-site\.com [NC]
RewriteRule ^(.*)$ http://www.mon-site.fr/$1 [QSA,R=301]

E-mail de l’administrateur du serveur

Utiliser ce code, pour spécifier l’adresse e-mail par défaut de l’administrateur du serveur.

ServerSignature EMail
SetEnv SERVER_ADMIN monadresse@monsite.com

Protéger ses images

Utile pour empêcher qu’une personne ne fasse un lien direct de son site pour afficher des images hébergées sur votre propre serveur. Bien souvent aucune autorisation n’est demandée et cela pose donc des problèmes de droits, sans compter qu’il utilise la bande passante de votre serveur.
Le code suivant peut empêcher cela.

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?monsite\.com/ [nc]
RewriteRule .*\.(gif|jpg|png)$ http://www.monsite.com/images/images-de-substitution.jpg [nc]

Rendre tout un site indisponible pour maintenance

Il est intéressant de pouvoir à tout moment basculer un site en maintenance et être le seul à pouvoir naviguer sur celui-ci.

RewriteEngine on
RewriteRule maintenance\.html - [L]
RewriteCond %{REMOTE_ADDR} !82.288.56.587
RewriteRule .* /maintenance.html [L]

Empêcher le listage des répertoires

Habituellement, si votre site ne dispose pas d’une page d’index par défaut tous les fichiers de ce répertoire sont accessibles aux visiteurs. Pour éviter cela utilisez le code suivant.

Options All -Indexes

Page par défaut

Vous pouvez définir la page par défaut d’un répertoire comme vous le souhaitez. Par exemple, dans ce code, la page par défaut est contact.html au lieu de index.html

DirectoryIndex contact.html

Protéger vos répertoires et fichiers

Vous pouvez créer une demande d’authentification pour l’accès à certains fichiers et répertoires. Voici deux exemples de protection par mot de passe, un pour un fichier et l’autre pour un répertoire. Le fichier .htpasswd est un fichier texte devant contenir sur chacune des ses lignes un nom d’utilisateur suivi de deux points (:), puis du mot de passe crypté (solution recommandée) ou en clair. Pour crypter le mot de passe, Apache fournit un outil, l’utilitaire htpasswd accessible dans le sous-répertoire bin d’Apache. Il est également recommandé de placer ce fichier en dehors de l’arborescence du site.

# Protéger un  fichier

AuthType Basic
AuthName "Accès restreint"
AuthUserFile /home/path/.htpasswd
Require valid-user

# Protéger un répertoire
AuthType basic
AuthName "Accès restreint"
AuthUserFile /home/path/.htpasswd
AuthGroupFile /dev/null
Require valid-user

Masquer ou afficher les erreurs php

Par défaut, le valeur du paramètre PHP « display_errors » est « on ». La plupart du temps ces messages d’erreurs contiennent des informations sensibles qu’il est préférable de masquer sur un site en production. Pour masquer les erreurs, ajouter simplement :

php_flag display_errors off

Pour Conclure

Ce petit fichier est extrêmement pratique et puissant. Le nombre d’applications possibles est important. Ainsi, j’éditerai ce billet régulièrement pour y ajouter des exemples utiles. N’hésitez donc pas à proposer les vôtres.

2 réponses à “ Les fichiers .htaccess, exemples et astuces ”

  1. Les fichiers .htaccess, exemples et astuces: http://tinyurl.com/dbczuw

  2. KeKeaz dit :

    Très très belle article, il me sera bien utile :)

Laisser un commentaire