French English German Italian Russian Spanish

Recherche

Après de nombreuses recherches je n'ai jamais trouvé de bonnes explications pour utiliser le fichier htaccess, suivez le guide

Débuter avec le fichier htaccess

Voici les premiers pas d'utilisation du fichier htaccess :

Ou doit on placer le fichier htaccess ?

le fichier doit se trouver à la racine du site comme sur l'image

ou placer le fichier htaccess

exemple d'un site en local sous windows avec un server Wamp : c:/wampserver/www/(monsite)/htaccess.txt

ou un autre exemple avec un site en ligne chez ovh ou 1and1 : /www/(monsite)/.htaccess

vous aurez sans doute compris que (monsite) n'est pas obligatoire vous pouvez vous placer à la racine du www si vous n'avez qu'un seul site !

Comment doit on nommer le fichier htaccess ?

En local c'est à dire sous Windows par exemple le fichier htaccess se nomme jusqu'à windows 7 : "htaccess.txt"

Pour tous les autres environnement y compris chez votre hébergeur web le fichier doit se nommer ".htaccess"

N'oubliez pas de renommer le fichier htaccess.txt en .htaccess quand vous passer de votre PC (en local) à votre hébergement linux.

Les redirections d'url grâce au fichier htaccess

Entrons dans le vif du sujet : la redirection d'url

Réécriture d'url sous condition

Voici un premier exemple pour que toutes vos pages soit rediriger afin d'avoir les www au début de l'url

RewriteCond %{HTTP_HOST} ^actiaweb\.com

RewriteRule ^(.*)$ http://www.actiaweb.com/$1 [R=301,L]

Un second pour retirer le sale index.php à la fin de vos urls :

RewriteCond %{REQUEST_URI} ^/index\.php/

RewriteRule ^index.php/(.*) /$1 [R,L]

Un autre pour retirer un dossier de vos urls pour les simplifier avec le htaccess

par exemple l'url www.actiaweb.com/dossierasupprimer/page.html

peu être simplifié grâce à la commande ci dessous par www.actiaweb.com/page.html

RewriteCond %{REQUEST_URI} ^/dossierasupprimer/

RewriteRule ^dossierasupprimer/(.*) /$1 [R,L]

Allez un petit dernier qui est le plus utilisé je pense, la détection d'une chaîne de caractères dans les urls et la redirection vers une url complète :

Dans cet exemple toutes les urls contenant 50-valence sont redirigées vers http://www.espagne-visite.com/visite/valence.html

RewriteCond %{REQUEST_URI} 50-valence

RewriteRule ^(.*)$ http://www.espagne-visite.com/visite/valence.html [R=301,L]

La redirection permanente d'url sous htaccess

il s'agit de détecter dans une url un ou des dossiers et de rediriger vers une autre url comme ci dessous sans préjuger de ce qui suit dans l'url

Ici l'url http://www.espagne-visite.com/fr/visite/almeria.html sera remplacer par l'url : http://www.espagne-visite.com/visite/almeria.html

Redirectpermanent /fr/visite/ http://www.espagne-visite.com/visite/

ou un exemple un peu plus corsé :

nous redirigeons le répertoire climate-spain par climat-espagne

Redirectpermanent /climate-spain/ http://www.espagne-visite.com/climat-espagne/

Rediriger une url vers une autre (attention cela dépend de votre hébergeur)

redirect /adresse/a/rediriger/index.php http://www.actiaweb.com/activ/contact-pour-creer-un-site-internet.html

Autres utilisations du fichier htaccess

Bannir des adresses ip

pour bannir une adresse ip il suffit d'ajouter une ligne comme ceci à la fin de votre fichier :

deny from 222.187.222.126

pour interdire tout le monde sur votre site sauf une url par exemple :

deny from all

allow votreip

Mettre des commentaires dans votre fichier htaccess

A chaque ligne que vous ajoutez n'hésiter pas à mettre un commentaire auparavant comme ceci avec le dièse #

#interdiction de l'url car on me spam 222.187.222.126

deny from 222.187.222.126

Cela permet aussi de commenter des lignes que vous n'utilisez plus

Boucle de redirection comment les résoudres

A chaque ligne ajoutée, faites un test car vous pouvez vite avoir des boucles de redirection qui apparaissent, la seule solution pour résoudre votre problème est simple chercher tout ou partie de l'url qui pose problème dans votre fichier htaccess et commenter chaque ligne, vous regardez si cela résout la boucle de redirection infinie, si oui testez chacune de vos lignes, il doit y avoir deux instructions qui entrent en conflit et qui ne permettent pas de sortir du fichier htaccess.