Après de nombreuses recherches je n'ai jamais trouvé de bonnes explications pour utiliser le fichier htaccess, suivez le guide
Voici les premiers pas d'utilisation du fichier htaccess :
le fichier doit se trouver à la racine du site comme sur l'image
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 !
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.
Entrons dans le vif du sujet : la redirection d'url
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]
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/
redirect /adresse/a/rediriger/index.php http://www.actiaweb.com/activ/contact-pour-creer-un-site-internet.html
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
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
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.