renvoyer un clic sur un lien à la racine du site

renvoyer un clic sur un lien à la racine du site - HTML/CSS - Programmation

Marsh Posté le 11-01-2012 à 00:05:27    

Hello,
J'ai un ancien site dont les les fichiers HTML sont encore présents dans un répertoire /HTML/  : par exemple http://www.machin.com/html/truc.html
 
Le nouveau site est en prod, mais certaines recherches google renvoient encore des liens vers ces pages obsolètes.
Si je les supprime, ça renverra au visiteur une erreur.
 
Comment faire, en cas de clic sur un lien Google routant vers http://www.machin.com/html/truc.html  pour forcer un envoi sur la racine www.machin.com ?
 
Un fichier htaccess permettrait ça ? (comment ça marche ces choses là ?)
 
 :jap:


---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 11-01-2012 à 00:05:27   

Reply

Marsh Posté le 11-01-2012 à 00:43:54    

Tu peux faire via htaccess oui c'est sûrement la meilleure solution.

Code :
  1. RewriteEngine on
  2. Rewriterule ^/html/(.*)$ / [R=301, L]


Sinon, tu peux simplement ajouter une balise meta dans les <head> de tes pages HTML. C'est une solution moins bonne mais qui fonctionne la plupart du temps :

Code :
  1. <meta http-equiv="refresh" content="0;url=../" />

Message cité 1 fois
Message édité par Pc_eXPert le 11-01-2012 à 00:44:27
Reply

Marsh Posté le 12-01-2012 à 19:53:36    

Pc_eXPert a écrit :

Tu peux faire via htaccess oui c'est sûrement la meilleure solution.

Code :
  1. RewriteEngine on
  2. Rewriterule ^/html/(.*)$ / [R=301, L]


Sinon, tu peux simplement ajouter une balise meta dans les <head> de tes pages HTML. C'est une solution moins bonne mais qui fonctionne la plupart du temps :

Code :
  1. <meta http-equiv="refresh" content="0;url=../" />



Merci ! :)
un doute néanmoins : j'ai déjà un htaccess a la racine qui route les connexions sur www.machin.com (fichier index.HTML à la racine) vers le répertoire wordpress du nouveau site.  
Le htaccess dans le répertoire /HTML/ ne va pas rentrer en conflit ?


---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 13-01-2012 à 01:47:24    

Normalement non

Reply

Marsh Posté le 14-01-2012 à 21:42:32    

je viens de tester l'htAccess, et j'obtiens une erreur :

Citation :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, postmaster@www.casgac.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.


Je me suis loupé quelque part ?
 
Mon htaccess, placé dans le répertoire www.casgac.com/html/ :

Code :
  1. RewriteEngine on
  2. Rewriterule ^/html/(.*)$ / [R=301, L]


 
L'objectif, est que toute requête vers ce répertoire (et les fichiers qu'il contient) renvoie vers la racine.
 
 
J'ai enlevé l'espace après la virgule dans le flag, et là, rien ne se passe : on voit le fichier normalement, et ça ne route pas vers la racine (idem si je remplace la destination / par http://www.casgac.com/ ) :

Code :
  1. RewriteEngine on
  2. RewriteRule ^/html/(.*)$ / [R=301,L]


Message édité par F22Raptor le 14-01-2012 à 22:03:54

---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 14-01-2012 à 22:57:50    

Bon, ça a fini par marcher, mais j'ai dû modifier comme suit :

Code :
  1. RewriteEngine on
  2. RewriteRule ^(.*) / [L,R=301]


 
J'ai placé l'htaccess dans le répertoire concerné par la redirection (racine/html/), et j'ai shooté la redirection dans le RewriteRule.
Bizarre, dès que je mets RewriteRule ^/html/(.*)html / [L,R=301]   ça charge normalement la page html ...
 
Je ne risque pas d'avoir des interférences avec d'autres htaccess (celui à la racine par exemple, qui sert à gérer le transfert vers le répertoire wordpress ?)


Message édité par F22Raptor le 14-01-2012 à 23:01:31

---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 15-01-2012 à 05:44:12    

Normalement il n'y aura pas d'interférence non. Le htaccess de la racine, s'il ne couvre pas /html, n'interfèrera pas. Normalement il ne devrait pas, sinon tu n'aurais pas créé ce topic.

Reply

Marsh Posté le 16-01-2012 à 11:19:20    

Je vais essayer maintenant de faire plus subtil : router les URL des anciennes pages vers les pages correspondantes dans le nouveau site.
Par exemple, mon ancienne page http://www.machin.com/html/truc.html  est désormais accessible sur  http://www.machin.com/aaa/bbb/
 
J'ai essayé un

Code :
  1. RewriteRule http://www.machin.com/html/truc.html$ http://www.machin.com/aaa/bbb/ [L,R=301]

mais ça ne marche pas !
(j'ai essayé dans un htaccess à la racine, et dans le répertoire /html/)
 
Je me suis loupé quelque part ?


Message édité par F22Raptor le 16-01-2012 à 11:19:43

---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Marsh Posté le 16-01-2012 à 18:36:17    

RewriteRule ^/truc.html$ ../aaa/bbb [L]
?

Reply

Marsh Posté le 17-01-2012 à 21:44:39    

nope !  marche po !


---------------
Is it a bird? Is it a plane? No it s F22Raptor !  -  I love flying because football, baseball, rugby, and golf only take one ball
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed