Services et serveurs

Apache : Quelques infos sur le .htaccess

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



Un petit topo rapide sur les fichiers .htaccess
Les fichiers .htaccess sont des fichiers de configuration des serveurs HTTP Apache. Leur particularité est leur emplacement : dans les répertoires de données du site Web, au lieu du répertoire de configuration d'Apache. La portée de leur configuration est limitée au contenu du répertoire où ils résident. Cette particularité apporte deux principaux avantages : leur gestion peut être déléguée à des utilisateurs n'ayant pas le droit de gérer le serveur HTTP lui-même ; les modifications sont prises en compte sans qu'il soit nécessaire de redémarrer le serveur HTTP.

Les fichiers .htaccess sont notamment utilisés pour configurer des droits d'accès, des redirections d'URL, des messages d'erreur personnalisés, et des associations d'extension de nom de fichier à un type MIME.


Quelques lignes rapides




Rediriger une URL de manière permanente



Code HTML :
RedirectMatch 301 /news/news-6-13+linuxien-decouvre-windows-7.php /news/0-root/13-linuxien-decouvre-windows-7/


Et pour un changement de nom de domaine, si on veut récupérer la suite d'une URL (exemple linuxtricks.asso-linux-online.fr/truc-bidule pour pointer sur inuxtricks.fr/truc-bidule ) On place le .htaccess sur l'ancien site (linuxtricks.asso-linux-online.fr) avec ceci dedans :

Code HTML :
RedirectMatch 301 /(.*) http://linuxtricks.fr/$1


Ces modifs sont prises en compte par les moteurs de recherche et mettent à jour leur base de données.


Redirection temporaire



Code HTML :
RedirectMatch 302 / /maintenance.html


Ces modifs ne sont pas prises en compte par les moteurs de recherche.

Pages d'erreur personnalisées



Code HTML :
ErrorDocument 403 /intrdit.html
ErrorDocument 404 /erreur.html




Créer un fichier .htaccess sous Windows



Ouvrir cmd et se rende dans le dossier du site :

Code BASH :
cd C:\....


Puis créer le fichier ainsi :

Code BASH :
echo >.htaccess