Redirection 301 ds .htaccess

Nouveau WRInaute
Hello,

J'ai écrit ça, et ça ne semble pas marcher:

RewriteRule /example.php /nouvelle-page-example.htm [R=301]

----> Google garde la page example.php dans ses résultats ignorés, alors que je voudrais qu'il la supprime au profit de la nouvelle pour qu'il n'y ait pas de duplicate content

Je ne peux pas faire de RedirectPermanent sinon ça tourne en boucle, car example.php est le vrai nom de fichier et le vrai emplacement sur le serveur, et ailleurs ds le .htaccess, il y a quelque chose comme ça :

RewriteRule ^([_a-z]*)-([_a-z]*)-([_a-z]*)\.htm$ /$3.php [L]

qui réoriente

nouvelle-page-example.htm vers example.php

Question : comment faire pour que Google cesse d'indexer la page example.php au profit de nouvelle-page-example.htm ?
 
Nouveau WRInaute
Oui.

Maintenant, quand je tappe http://www.example.com/example.php dans la barre d'adresses, ça reste comme ça, ça ne met pas à la place l'url réécrite en .htm.

Est-ce normal avec la redirection telle que présentée précédemment ds le htaccess ?

(sachant, je le rappelle, que le fichier example.php est le fichier physque cible de l'url réécrite en .htm et qu'il est donc présent sur le serveur)

Si oui, est-ce que Google, qd il revisite la page, ne croit pas aussi qu'il n'y a pas de raison de changer le nom de cette page en .php dans sa bdd, même si j'ai précisé cette redirection 301 vers la .htm ds le htaccess ?
 
WRInaute accro
Non. Tu n'a pas de redirection 301 effective ici.
Si tu es redirigé vers la page .html, Google le sera. Sinon c'est que cela ne fonctionne pas.
 
WRInaute discret
Bonjour,

Si j'ai bien tout compris, j'avais le même genre de soucis, que j'ai réglé comme ça :
Code:
RewriteRule ^Infos_pratiques.php$ /Informations_pratiques.html [R=301,L,NS]
RewriteRule ^Informations_pratiques.html$ /InfosPratiques.php [QSA,L]

En gros, j'avais une page php indexée par google que je voulais definitivement remplacer par celle html
donc,
en 1er lieu, je réoriente ma page php indexée en 301 sur la page html (donc la page php n'existe plus pour google)
en 2eme, je redirige la page html vers la même page php, mais en réécriture simple

J'espère ne pas répondre à côté de la plaque ! :)
 
Nouveau WRInaute
Les deux lignes de ton code marchent chacune séparément, mais quand je fais le test, les deux s'annulent en quelque sorte, et j'obtiens une sorte de boucle infinie : ma page ne s'affiche pas et finalement, j'ai ce message sur une page blanche :

"The requested URL /example.htm was not found on this server."

Et sur une autre, ça m'affiche direct :

"500 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.example.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.
"
Donc :

1. Quelqu'un a une idée de comment on pourrait supprimer de la bdd de google les urls physiques pour les remplacer par des urls symboliques (sachant qu'avec des Rewriterule et des RedirectPermanent elles se renvoient l'une vers l'autre réciproquement) ?

2. J'ai un autre pb :
Mes anciens fichiers php comportaient aussi des variables transmises dans l'adresse, et ça affichait une page différente à chque fois. Ces adresses comprenant des variables dans l'url sont également enregistrées ds sa bdd par google. Comment faire pour mettre des redirections 301 sur ces pages vers l'url symbolique et qu'il y en ait une différente à chaque fois suivant les variables présentent dans l'adresse ? (j'ai testé avec les deux methodes de redirection 301 et aucune ne veut fonctionner avec une adresse contenant des variables, au pire, RedirectPermanent me renvoie vers la page symbolique et rajoute les variables à la fin de la nouvelle adresse symbolique quand on tappe l'adresse avec variables dans le navigateur ( les variables directement dans le .htaccess, il n'en veut pas du tout).

Mais de toute façon, moi ce n'est pas ce que je veux.

Je veux :

/nom_physique_de_la_page.php?lg=en ------> /nom_symbolique_de_la_page_en_anglais.htm

Quelqu'un a déjà été confronté à ce problème ? Ca doit être une situation courante pour quiconque veut changer ses anciens noms de pages en url symboliques a priori..
 
Discussions similaires
Haut