Redirection permanente (ou 301) qui ne fonctionne pas...

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


El-Cherubin
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 204
Inscription: Dim Déc 09, 2007 15:10

Redirection permanente (ou 301) qui ne fonctionne pas...

Message le Dim Sep 28, 2008 23:24

Bonsoir/Bonjour


Pour le site suivant : -http://old.societe.com j'ai créer des rewrite rules, afin d'avoir des urls plus propres.
Jusque la pas de probleme, le souci c'est que le CMS que j'utilise mes créer des doublons de pages, et en fait j'ai entre 2 et 4 urls pour un meme contenu, donc duplicate content :(
Je souhaitais faire des redirections permanentes de ces possibilités d'urls vers l'url réécrite mais ça ne fonctionne pas...

Voici mon htaccess :

Options +FollowSymlinks
RewriteEngine on


RewriteRule /?9-accueil-produits-coca-societe-s-a-r-l *ttp://old.societe.com [R=301] # *ttp = http
RewriteRule /index.php?9-accueil-produits-coca-societe-s-a-r-l *ttp://old.societe.com [R=301]

RewriteRule ^information-societe.html$ /?003/Informations
RewriteRule /?003/Informations /information-societe.html [R=301] #Je ne sais pas si c'est possible étant donné que je m'en sers juste au dessus... Je l'ai fait pour chaque url récrite
RewriteRule /index.php?003/Informations /information-societe.html [R=301]
RewriteRule /?7-informations-legales-coordonnees /information-societe.html [R=301]
RewriteRule /index.php?7-informations-legales-coordonnees /information-societe.html [R=301]

RewriteRule ^contact.html$ /index.php?contact=contact
RewriteRule /index.php?contact=contact /contact.html [R=301]

RewriteRule ^fiches-techniques-coca.html$ /?002/Fiches-techniques
RewriteRule /?002/Fiches-techniques /fiches-techniques-coca.html [R=301]
RewriteRule /index.php?002/Fiches-techniques /fiches-techniques-coca.html [R=301]

RewriteRule ^produits-coca.html$ /?001/Nos-produits
RewriteRule /?001/Nos-produits /produits-coca.html [R=301]
RewriteRule /index.php?001/Nos-produits /produits-coca.html [R=301]
RewriteRule /index.php?6-sommaire-liste-de-nos-produits /produits-coca.html [R=301]
RewriteRule /?6-sommaire-liste-de-nos-produits /produits-coca.html [R=301]

RewriteRule ^plan-site.html$ /index.php?plan=plan

ErrorDocument 404 /erreur404.php


EDIT : Je viens de voir que mes réécritures foutaient le bordel à l'intérieur ... -http://old.societe.com/fiches-techniques-coca.html?20-tuyaux-flexibles-equipes-et-compensateurs par exemple, au lieu de -http://old.societe.com/?20-tuyaux-flexibles-equipes-et-compensateurs
Tout a recommencer je crois...


Je précise, je suis (toujours) débutant en rewrite...

Le site est en faite statique, enfin, ne changera quasiment pas, c'est pourquoi j'ai pas pousser plus loin la réécriture à la volée comme on peut le voir sur d'autres CMS (puis pour etre honnete, je ne sais pas comment faire)


Pourriez vous m'expliquez pourquoi mes 301 ne fonctionne pas svp?



Merci d'avance

PS: désolé pour le doublon sur un autre forum, je suis arrivé dans cette section sur les conseils de ce site : http://www.urlrewriting.fr/forums.php
Dernière édition par El-Cherubin le Mar Sep 30, 2008 0:23, édité 3 fois.


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Sep 29, 2008 9:13

RewriteRule n'accepte pas d'url avec des paramètres. Pour tester une url avec paramètre il faut utiliser une RewriteCond :
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^9-accueil-produits-ptfe-capel-s-a-r-l$
RewriteRule ^$ http://old.accapel.com/ [R=301]


El-Cherubin
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 204
Inscription: Dim Déc 09, 2007 15:10

Message le Lun Sep 29, 2008 21:20

Merci, cependant j'ai toujours du mal a appliquer ce que tu me donnes...

Exemple :


RewriteCond %{QUERY_STRING} ^contact=(.*)$
RewriteRule ^index\.php$ *ttp://old.societe.com/%1.html? [L,R=301]
RewriteRule ^contact.html$ /index.php?contact=contact


La redirection fonctionne, -http://old.societe.com/index.php?contact=contact renvoie vers -http://old.societe.com/contact.html cependant, j'ai maintenant une erreur pour la page /contact.html ... Meme pas une 404, une erreur de chargement...


En fait, ce que je souhaite faire est je pense (pas sur mais je crois ^^) relativement simple.

J'ai ces urls (par groupe) :

-http://old.societe.com/?003/Informations
-http://old.societe.com/index.php?003/Informations
-http://old.societe.com/?7-informations-legales-coordonnees
-http://old.societe.com/index.php?7-informations-legales-coordonnees

Réécrit en /information-societe.html
Mais il faut aussi que ces "anciennes urls" soient rediriger de façon permanente vers l'url réécrite pour éviter les doublons d'urls.


-http://old.societe.com/index.php?contact=contact

Réécrit en /contact.html
Mais il faut aussi que ces "anciennes urls" soient rediriger de façon permanente vers l'url réécrite pour éviter les doublons d'urls.


-http://old.societe.com/?002/Fiches-techniques
-http://old.societe.com/index.php?002/Fiches-techniques

Réécrit en /fiches-techniques-coca.html
Mais il faut aussi que ces "anciennes urls" soient rediriger de façon permanente vers l'url réécrite pour éviter les doublons d'urls.


-http://old.societe.com/index.php?001/Nos-produits
-http://old.societe.com/?001/Nos-produits
-http://old.societe.com/index.php?6-sommaire-liste-de-nos-produits
-http://old.societe.com/?6-sommaire-liste-de-nos-produits

Réécrit en /produits-coca.html
Mais il faut aussi que ces "anciennes urls" soient rediriger de façon permanente vers l'url réécrite pour éviter les doublons d'urls.


-http://old.societe.com/index.php?plan=plan

Réécrit en /plan-site.html
Mais il faut aussi que ces "anciennes urls" soient rediriger de façon permanente vers l'url réécrite pour éviter les doublons d'urls.



Soit 2 choses, tout d'abord avoir la possibilité de réécrire les urls plus proprement, et pour proteger du duplicate mettre des 301.
Est ce possible? (techniquement parlant)

Autre question, pour faire "plus simple" est il possible de faire de "multiples" redirections permanentes.
Par exemple : RedirectPermanent /ancienne-url.ext + /ancienne-url2.ext + /ancienne-url3.ext vers -http://manouvellepage.ext



Je suis désolé, c'est vraiment le bordel... :(

Je te remercie d'avance pour tes éclaircissements :)
Dernière édition par El-Cherubin le Mar Sep 30, 2008 0:23, édité 2 fois.

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Lun Sep 29, 2008 21:24

Ca n'a rien a voir, mais si tu utilise les balises code pour includre ton .htaccess, tu n'a pas besoin de mettre *ttp. Démonstration:

Code: Tout sélectionner
http://www.monsite.com


Le lien n'est pas actif.

Je dis ça, car pour éviter tout problème il vaut mieux couper coller le .htaccess sans l'éditer quand tu veut le mettre ici. Toute édition peut introduire un pb qui n'était pas là au départ...


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Sep 29, 2008 21:43

tu ne peux pas mettre une redirection et une réécriture ensemble car ça boucle. Pour éviter cela il faut ajouter un paramètre à la réécriture pour éviter que cela vérifie la condition :
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^contact=(.*)$
RewriteRule ^index\.php$ /%1.html? [L,R=301]
RewriteRule ^contact.html$ /index.php?contact=contact&rewrite [L]


El-Cherubin
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 204
Inscription: Dim Déc 09, 2007 15:10

Message le Mar Sep 30, 2008 0:14

Ah... merci beaucoup pour cette précision :)

Cependant, encore une petite question, pour le cas ou j'ai 4 urls différentes pour un même contenu comme ici :

-http://old.societe.com/?003/Informations
-http://old.societe.com/index.php?003/Informations
-http://old.societe.com/?7-informations-legales-coordonnees
-http://old.societe.com/index.php?7-informations-legales-coordonnees

Puis je effectuer cela :

Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^?003/Informations$
RewriteRule ^$ /%1.html? [L,R=301]
RewriteRule ^informations-societe.html$ /?003/Informations&rewrite [L]

#creation de la réécriture et premiere redirection le tout ensemble


#Ensuite, les redirections qui suivent

RewriteCond %{QUERY_STRING} ^index.php?003/Informations$
RewriteRule ^$ http://www.societe.com/informations-societe.html? [R=301]

RewriteCond %{QUERY_STRING} ^?7-informations-legales-coordonnees$
RewriteRule ^$ http://www.societe.com/informations-societe.html? [R=301]

RewriteCond %{QUERY_STRING} ^index.php?7-informations-legales-coordonnees$
RewriteRule ^$ http://www.societe.com/informations-societe.html? [R=301]


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Sep 30, 2008 6:53

le paramètre query string ne contient que ce qui se trouve après le "?"
essaye :
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^003/Informations$
RewriteRule ^(index\.php)?$ /%1.html? [L,R=301]
RewriteRule ^informations-societe.html$ /?003/Informations&rewrite [L]

#creation de la réécriture et premiere redirection le tout ensemble


#Ensuite, les redirections qui suivent

RewriteCond %{QUERY_STRING} ^7-informations-legales-coordonnees$
RewriteRule ^(index\.php)?$ http://www.societe.com/informations-societe.html? [R=301]


El-Cherubin
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 204
Inscription: Dim Déc 09, 2007 15:10

Message le Mar Sep 30, 2008 10:38

D'accord, je vais tester ça, pour ce qui est de mes redirections qui suivent, c'est OK? il n'y a pas de contre-indications?
Elles ne vont pas s'annuler ou se bloquer?

Merci beaucoup pour ton aide :)


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Tester la validité d'un lien
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Test du code HTTP d'une page
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités