Messages: 967

Enregistré le: 6 Jan 2008

Message le Mer Mai 06, 2009 19:31

Bonjour a tous,

voila j'ai regroupé plusieurs code de redirection .hatacces et je veux partager avec vos :


*** rediriger un nom de domaine avec leur page vers un autre
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)$ http://www.noveaunomdomaine.com/$1 [R=301,L]



*** rediriger site sans www. vers site avec www : ( pour éviter le duplicate contenu )
Code: Tout sélectionner
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.nomdoamine\.com [NC]
RewriteRule (.*) http://www.nomdoamine.com/$1 [QSA,R=301,L]



*** rediriger index.html , index.php.... vers racine de site ( aussi pour éviter le duplicate contenu )
Code: Tout sélectionner
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp|shtml)
RewriteRule ^(.*)index.(htm|html|php|asp|shtml)$ /$1 [R=301,L]



*** rediriger un ancien page vers un nouvelle page ( pour éviter les erreurs 404 )
Code: Tout sélectionner
RewriteEngine On
RewriteRule ancienpage.html http://www.nomdomaine.com/nouvellepage.html [R=301]



*** rediriger un dossier et leur contenu vers un autre nouveau dossier ( pour éviter les erreurs 404 )
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^ancien/(.*)$ http://www.nomdomaine.com/nouveaudossier/$1 [R=301,L]



/**************************** les pages format exemple.php?id=5 ----> exemple-5.html *************** /
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)-([a-z-]+)-([0-9]+)\.html$ exemple.php?id=$2 [L]


/**************************** les pages format exemple.php?id=5&cat=10 ----> exemple-5-10.html *************** /
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)-([a-z-]+)-([0-9]+)-([0-9]+)\.html$ exemple.php?id=$3&cat=$4 [L]



/**************************** convertir l'extension de fichiers php en html *************** /
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)\.html $1\.php [L]

( le format des liens sera exemple.html alors que le nom de la page est exemple.php



Bien sur il y'a des autres code a vos de nos donné vos code et aussi vos remarque ;)


Merci
Haut
92 Réponses
Messages: 2865

Enregistré le: 7 Mai 2005

Message le Mer Mai 06, 2009 19:40

Bonjour et merci mahdivitche, c'est pratique de tout avoir sur un seul topic, bonne idée.
+1 reco ;)
Haut
Messages: 984

Enregistré le: 8 Nov 2005

Message le Mer Mai 06, 2009 20:35

Code: Tout sélectionner
RewriteEngine off


pour ne pas hériter des redirections pour un répertoire donné :wink:
Très très bonne initiative que tu as eue là :wink:
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Jeu Mai 07, 2009 10:58

Merci beaucoup saypee

et un grand merci pour toi aussi honolulu :wink:
Haut
Messages: 8558

Enregistré le: 14 Mai 2003

Message le Jeu Mai 07, 2009 11:01

Merci, +1 reco.
Haut
Messages: 2307

Enregistré le: 21 Fév 2009

Message le Jeu Mai 07, 2009 11:16

Tu n'aurais pas la même chose pour ceux qui n'ont pas de serveur apache et ne peuvent donc pas utiliser le .htaccess :?:
Haut
Messages: 4815

Enregistré le: 21 Sep 2008

Message le Jeu Mai 07, 2009 11:33

Bravo et merçi pour l'initiative mahdivitche. C'est tellement évident qu'on se emande pourquoi personne ne l'avait fiat auparavant

+1
Haut
Messages: 12288

Enregistré le: 23 Nov 2005

Message le Jeu Mai 07, 2009 12:59

detectimmobilier a écrit:Tu n'aurais pas la même chose pour ceux qui n'ont pas de serveur apache et ne peuvent donc pas utiliser le .htaccess :?:


Si il s'agit d'IIS, tu as le composant ISAPI Rewrite qui permet de faire des réécritures, redirections, etc : http://www.isapirewrite.com/docs/
Haut
Messages: 2307

Enregistré le: 21 Fév 2009

Message le Jeu Mai 07, 2009 16:09

Merci Usagi, en plus je vais me remettre à l'anglais :wink:
Haut
Messages: 70

Enregistré le: 9 Avr 2009

Message le Mar Mai 12, 2009 1:29

Une reco pour ce topic, parce qu'il le vaut bien ;)
(et accessoirement parce qu'il m'a sauvé la mise)
Haut
Messages: 6

Enregistré le: 30 Juil 2008

Message le Jeu Mai 14, 2009 22:42

très bonne initiative en effet, merci à toi je vais m'en faire un petit mémo :)
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Ven Mai 15, 2009 13:46

Bonjour , et Merci pour vos aussi,

****** des remarques :

nickargall a écrit:Bonjour
Code: Tout sélectionner
RewriteEngine On

ne doit apparaître qu'une fois, avant l'écriture des règles.



**** des exemples : ( voila 5 exemples je trouve dans ce forum pour mieux comprend )

*********************************************************** exemple 1 **********************************

Niurath a écrit:Bonjour je dois faire une 301 sur un dossier et tout ce qu'il contient actuellement elle ne marche

que pour forum-dossier/index.php et je veux qu'elle marche pour tout.
Possible ?


Réponse :

** si tu veut rediriger tous les page d'un dossier vers les page d'un nouveau dossier qui prend le même nom

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^forum-dossier/(.*)$ http://www.le-saxophone.fr/dossiers/$1 [R=301,L]


*** si tu veut rediriger tous les page d'un dossier vers le racine d'un autre dossier :

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^forum-dossier/(.*)$ http://www.le-saxophone.fr/dossiers/ [R=301,L]



*********************************************************** exemple 2 **********************************

flobonhomme a écrit:Bonjour à tous,


J'ai donc besoin d'avoir des Url de la forme http://www.monsite.fr/#/blabla.html
qui appel la page physique http://www.monsite.fr/blabla.php

Merci bonne journée.


Réponse :

voila le code :

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^\#/(.*)\.html $1\.php [L]


*************************************** exemple 3 ******************************************

caviar a écrit:je voudrai faire des règles simples

1 - si l'url après le ndd contient cat- alors je redirige vers page=accueil&idcat=$1
2 - si l'url après le ndd contient commentaires- alors je redirige vers page=addcomments&id=$1



Réponse par @forty :

Code: Tout sélectionner
RewriteRule ^cat-(.*)$ index.php?page=accueil&idcat=$1 [L,NC]
RewriteRule ^commentaires-(.*)$ index.php?page=addcomments&id=$1 [L,NC]


*********************************** exemple 4 *******************************
monbototo a écrit:j'aimerai rediriger http://www.anciensite.com vers http://www.nouveausite.com de façon permanente, mais sauf le

dossier "wanewsletter" ainsi que tous les sous-dossiers et fichiers qu'il contient.


Réponse par @HawkEye

Code: Tout sélectionner
RewriteCond %{REQUEST_URI} !wanewsletter/(.*)$
RewriteRule (.*) http://www.nouveausite.com/$1 [QSA,R=301,L]


NB: La règle fait une redirection page-à-page. Si tu veux simplement tout rediriger vers la racine du nouveau site,

il faut que tu enlèves le "$1"



***************************** exemple 5 *******************************************************
allann a écrit:est il possible de passez des variables de bases de données mysql dans une url de rewrting
actuellement j'ai des pages comme par exemple
http://www.monsite.com/annonce.php?idannonce=x ou x corespond à l'id de l'annonce
puis dans la balise meta title acheter votre <? $marque $modele ?>
j'aimerai si possible ecrire une regle qui transforme la page annonce.php en annonce-marque-modele.hml


Réponse par @nickargall :

Code: Tout sélectionner
rewritengine on
Rewriterule ^([0-9]+)-(.*)-(.*)\.html$ /annonce.php?idannonce=$1 [L]
Haut
Messages: 487

Enregistré le: 18 Mar 2008

Message le Lun Mai 25, 2009 15:23

Super topic mahdivitche, +1 reco !
J'ai une question par contre, qui n'a pas été traitée ici. :)

Il m'est arrivé de faire diverses url-rewriting (une dizaine dans le fichier .htaccess) et lorsque je cliquais sur un lien A sur le site, j'arrivais sur la page B. En gros, l'url rewriting des diverses urls étaient mélangé, j'ai réglé ce soucis en changeant l'ordre des lignes dans le fichier. Mais y'a-t-il une règle exact pour éviter ce genre de problème ?
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Ven Mai 29, 2009 18:12

Greendog a écrit:Il m'est arrivé de faire diverses url-rewriting (une dizaine dans le fichier .htaccess) et lorsque je cliquais sur un lien A sur le site, j'arrivais sur la page B. En gros, l'url rewriting des diverses urls étaient mélangé, j'ai réglé ce soucis en changeant l'ordre des lignes dans le fichier. Mais y'a-t-il une règle exact pour éviter ce genre de problème ?


Bonjour,
et désolé pour le retard dans la réponse

j'ai eu déjà ce problème, et j'utilise la solution que t'utilise :mrgreen:

voila un topic qui parle plus de ça http://forum.webrankinfo.com/ordre-des-regles-dans-fichier-htaccess-t84664.html

donc aucun solution :wink:
Haut
Messages: 1

Enregistré le: 2 Juin 2009

Message le Mar Juin 02, 2009 16:41

Bonjour,

Je souhaiterais rediriger mon URL stream de radio de base http://xxx.xxx.com:0000 en http://xxxx.maradio.com

Après avoir crée un sous domaine interne , un ami avait place un fichier .htaccess avec deux lignes de codes dans ce dossier

La redirection marchait

Ceci étant suite à une mauvaise manip ce fichier est parti a la poubelle et cet ami n'est plus de ce monde ....

Merci de votre aide,

Et très bonne continuation
Haut
Messages: 675

Enregistré le: 28 Avr 2007

Message le Mer Juin 03, 2009 21:39

Je rajoute mon grain de sel avec un code bien utile je pense (j'ai luté pour le trouver donc bon ^^)

Rediriger www.domaine.fr/dossier//page.html (ou bien www.domaine.fr//dossier/page.html et même www.domaine.fr//dossier//page.html)vers www.domaine.fr/dossier/page.html
Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . http://www.domaine.fr%1/%2 [R=301,L]
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Mar Oct 20, 2009 13:31

Bonjour,
Merci darkjukka

j'ai remarque que ce poste est dormir :mrgreen:


bon je propose deux autres code :

**** J'essaye de modifier un URL du type -http://example.com/go.php?go=affiliate1 en URL du type : -http://example.com/go/affiliate1

>>> solution :
Code: Tout sélectionner
   RewriteEngine On
    RewriteRule ^(.*)/(.*)/$ go.php?go=$2 [L]
   



**** Protégeons nos fichiers images :

>>>
Code: Tout sélectionner
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.votredomaine.net/.*$ [NC]
ReWriteRule .*\.(gif|png|jpe?g)$ - [F] 



Merci de mettre vos code dans ce topic pour faire un bloc note des codes htaccess :wink:
Haut
Messages: 11

Enregistré le: 20 Aoû 2009

Message le Mar Nov 17, 2009 10:33

Bonjour, j'ai une question

Je dois rediriger le trafic d'un site vers un autre (structure complétement différente)
Mais je voudrais rediriger des pages spécifiques.

Comment je peux ajouter des règles particulières avec ce code ?
RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]

oui dois je indiquer toutes les pages

RewriteEngine On
RewriteRule index.html http://www.nomdomaine.com/index.php [R=301]
RewriteRule ancienpage2.html http://www.nomdomaine.com/nouvellepage.html [R=301]
RewriteRule /dossier/ancienpage3.html http://www.nomdomaine.com/nouvellepage3.html [R=301]

merci et bonne journée
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Mar Nov 17, 2009 11:50

Bonjour /// CAPINTER ///

tu doit crée deux fichier .htaccess :

*** pour ancien nom de domaine ajouter ce code :
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]


( toutes les pages sera rediriger vers les pages de nouveau nom de domaine )

et pour le nouveau nom de domaine ajouter un fichier .htaccess avec les nouveau règles :

Code: Tout sélectionner
RewriteEngine On
RewriteRule ancienpage.html http://www.nouveaudomaine.com/nouvellepage.html [R=301]
....


( les ancien page de l'ancien nom de domaine sera rediriger vers les nouvelle page )
Haut
Messages: 11

Enregistré le: 20 Aoû 2009

Message le Mar Nov 17, 2009 11:56

Bonjour, mahdivitche

merci pour l' info, concernant les 2 fichiers .htaccess :
A quel endroit dois je le placer le 2°, à la racine?

Ou sur le nouveau serveur ?
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Mar Nov 17, 2009 12:05

CAPINTER a écrit:Bonjour, mahdivitche

merci pour l' info, concernant les 2 fichiers .htaccess :
A quel endroit dois je le placer le 2°, à la racine?

Ou sur le nouveau serveur ?



oui bien sur a la racine de les deux sites :wink:
Haut
Messages: 11

Enregistré le: 20 Aoû 2009

Message le Mar Nov 17, 2009 12:34

ok, donc si j'ai bien compris

sur l'ancien serveur :

RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]

Sur le nouveau :
RewriteEngine On
RewriteRule ancienpage.html http://www.nouveaudomaine.com/nouvellepage.html [R=301]
Haut
Messages: 967

Enregistré le: 6 Jan 2008

Message le Mar Nov 17, 2009 12:41

oui exacte :wink:
Haut
Messages: 11

Enregistré le: 20 Aoû 2009

Message le Mar Nov 17, 2009 12:42

ok merci
Haut
Messages: 210

Enregistré le: 13 Juil 2009

Message le Ven Nov 27, 2009 22:01

Ok merci je vais essayer avec mon site je te tiens au jus
Haut
Messages: 23

Enregistré le: 2 Déc 2008

Message le Sam Nov 28, 2009 18:08

Bonjour,

Très bonne initiative que ce post, merci!

Malheureusement je ne crois pas que ce que je cherche s'y trouve.

J'ai un bidule.fr et un sousdomaine.bidule.fr.
J'ai un troisième site en production qui est lié aux autres.
Le tout est en rapport à mon activité en démarrage de photographe.
Il y aurai donc un portfolio pro, un blog, et une photothèque.

J'aimerai passer ce nouveau site en bidule.fr, passer le domaine actuel en nouveausousdomaine.bidule.fr.
Le sousdomaine.bidule.fr restant à sa place.

J'imagine que je devrai rediriger une par une les url bidule.fr indexées vers nouveausousdomaine.bidule.fr.
Ca je crois que j'ai compris.

Hélas c'est la seule chose dont je suis presque sûr (hein?).

Après, je ne sais pas comment gérer le reste du process, comme par exemple:
-actualisation des anciennes urls dans l'index GG. (supprimer+interdire par robots.txt? Ou bien ça se fera naturellement?)
-besoin d'un .htaccess dans le nouveau sousdomaine?
-déplacer les règles actuelles de bidule.fr dans nouveausousdomaine.bidule.fr?


Merci pour vos lumières, si d'aventure…
Haut
Messages: 175

Enregistré le: 22 Mar 2010

Message le Ven Mai 21, 2010 17:21

Bonjour

j'ai des problème dans la sécurité de mon petit espace hébergement, j'ai fait qu'il que recherche j'ai trouvé un bon code qui permet de protéger le serveur contre les hacker débutant :wink:

voila le code ( dans fichier .htacess )

Code: Tout sélectionner
RewriteEngine On

RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})


###FILTRE CONTRE CERTAINS ROBOTS DES PIRATES

## EXCEPTION: TOUS LES ROBOTS MEMES ANONYMES OU BANNIS PEUVENT ACCEDER A CES FICHIERS

RewriteCond %{REQUEST_URI} !^/robots.txt

RewriteCond %{REQUEST_URI} !^/sitemap.xml

##

RewriteCond %{HTTP_USER_AGENT} ^-?$ [OR] ## ANONYMES

RewriteCond %{HTTP_USER_AGENT} ^[bcdfghjklmnpqrstvwxz\ ]{8,}|^[0-9a-z]{15,}|^[0-9A-Za-z]{19,}|^[A-Za-z]{3,}\ [a-z]{4,}\ [a-z]{4,} [OR] ## CEUX QUI INVENTENT DES NOMS AU HASARD

RewriteCond %{HTTP_USER_AGENT} ^<sc|<\?|^adwords|@nonymouse|Advanced\ Email\ Extractor|almaden|anonymous|Art-Online|autoemailspider|blogsearchbot-martin|CherryPicker|compatible\ \;|Crescent\ Internet\ ToolPack|Digger|DirectUpdate|Download\ Accelerator|^eCatch|echo\ extense|EmailCollector|EmailWolf|Extractor|flashget|frontpage|Go!Zilla|grub\ crawler|HTTPConnect|httplib|HttpProxy|HTTP\ agent|HTTrack|^ia_archive|IDBot|id-search|Indy\ Library|^Internet\ Explorer|^IPiumBot|Jakarta\ Commons|^Kapere|Microsoft\ Data|Microsoft\ URL|^minibot\(NaverRobot\)|^Moozilla|^Mozilla$|^MSIE|MJ12bot|Movable\ Type|NICErsPRO|^NPBot|Nutch|Nutscrape/|^Offline\ Explorer|^Offline\ Navigator|OmniExplorer|^Program\ Shareware|psycheclone|PussyCat|PycURL|python|QuepasaCreep|SiteMapper|Star\ Downloader|sucker|SurveyBot|Teleport\ Pro|Telesoft|TrackBack|Turing|TurnitinBot|^user|^User-Agent:\ |^User\ Agent:\ |vobsub|webbandit|WebCapture|webcollage|WebCopier|WebDAV|WebEmailExtractor|WebReaper|WEBsaver|WebStripper|WebZIP|widows|Wysigot|Zeus|Zeus.*Webster [NC,OR] ## VRAIS ET FAUX ROBOTS NE RESPECTANT PAS LES REGLES

RewriteCond %{HTTP_USER_AGENT} ^curl|^Fetch\ API\ Request|GT\:\:WWW|^HTTP\:\:Lite|httplib|^Java/1.|^Java\ 1.|^LWP|libWeb|libwww|^PEAR|PECL\:\:HTTP|PHPCrawl|^Program\ Shareware|python|Rsync|Snoopy|^URI\:\:Fetch|WebDAV|^Wget [NC] ## BIBLIOTHEQUES / CLASSES HTTP DONT ON NE VEUT PAS. ATTENTION, CELA PEUT BLOQUER CERTAINES FONCTIONS DE VOTRE CMS. NE PAS TOUT EFFACER, MAIS CHERCHEZ LE NOM DE LA CLASSE HTTP CONCERNEE (DEMANDEZ AUX DEVELOPPEURS DE VOTRE CMS). CETTE LISTE BLOQUE 80% DES ROBOTS SPAMMEURS. IL FAUT LA CONSERVER.

RewriteRule (.*) - [F]





**** aussi un code pour protéger les partie administrateur ( avec htaccess, et .htpasswd )
.htaccess :

Code: Tout sélectionner
AuthUserFile /homez.133/sgitmgqb/www/chicauto-marrakech/admin/.htpasswd
AuthGroupFile /dev/null
AuthName ByPassword
AuthType Basic
<limit GET>
require valid-user
</Limit>


.htpasswd :

Code: Tout sélectionner
login:$1$.61.KOJr$YAVyiOPVPnCILVs0nymg20
/**** login : mot de passe crypté


Bonne journée
Haut
Messages: 13

Enregistré le: 5 Juin 2010

Message le Dim Juin 06, 2010 16:49

mahdivitche a écrit:Bonjour /// CAPINTER ///

tu doit crée deux fichier .htaccess :

*** pour ancien nom de domaine ajouter ce code :
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)$ http://www.nouveaudomaine.fr/$1 [R=301,L]


( toutes les pages sera rediriger vers les pages de nouveau nom de domaine )

et pour le nouveau nom de domaine ajouter un fichier .htaccess avec les nouveau règles :

Code: Tout sélectionner
RewriteEngine On
RewriteRule ancienpage.html http://www.nouveaudomaine.com/nouvellepage.html [R=301]
....


( les ancien page de l'ancien nom de domaine sera rediriger vers les nouvelle page )


Bonjour,

Cette manipulation chez moi me créé une erreur 500 sur l'ancien site, et ne redirige donc pas du tout vers le nouveau site.
Haut
Messages: 175

Enregistré le: 22 Mar 2010

Message le Sam Juin 19, 2010 10:38

Az Se Irim

Bonjour

montrer nos le code que tu as utilisé :wink:
Haut
Messages: 152

Enregistré le: 6 Sep 2010

Message le Lun Sep 06, 2010 19:37

Bonjour à tous :)

Sauf erreur de ma part, mon cas de figure n'est pas traité ici.

Pour une installation de mutidomaine chez OVH j'ai besoin de faire pointer:

http://example.com/nomdedomaine vers http://nomdedomaine

1) Pouvez vous m'indiquer le code correspondant?

2) Question subsidiaire, devrais je mettre le code dans le htaccess de la racine de mon hébergement ou vers le dossier contenant le nouveau nom de domaine (http://example.com/nomdedomaine).

Merci.
Haut