Bonjour,

j'ai suivi le bon tuto vidéo de Grafikart sur les ré-écriture d'URL.
Avant mes articles avaient comme URL ceci par exemple :
www.mon-site/article.php?url=testurl

Mais je veux des url comme ceci:

www.mon-site/nom-de-la-page

J'ai donc ajouté ce code dans dans mon .htaccess :

RewriteRule ^([a-zA-Z0-9-]+)$ article.php?url=$1 [L]

Mes pages sont bien disponibles avec les nouvelles URL.
Mais quand je tape dans le navigateur les anciennes URL (par exemple: www.mon-site/article.php?url=testurl) , mes page sont aussi dispibles.

Est-ce normal? Google va t-il référencer mes URL propres, ou Google risque aussi de référencer mes anciennes URL...?

Merci beaucoup

6 réponses


Pourrais-tu nous c/c (copier/coller) le contenu de ton .htaccess ?

J'ai également accès à un des site que j'ai mis en ligne via les deux méthodes (sans et avec le rewriting):
http://jennycuisinepourvous.fr/index.php?p=posts/getPost/36 donne le même résultat que http://jennycuisinepourvous.fr/recette-36-fondant-potimarron-cannelle

Donc je dirais que c'est normal, mais je ne préfère pas m'avancer je ne me suis pas encore trop intéressé au sujet (référencement etc).

stephweb
Auteur

OK merci,
voici le contenu de mon .htaccess:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9-]+)$ article.php?url=$1 [L]

Je débute en PHP, je suis en rain de créer un mini CMS, c'est la 1ere fois que je fait un site avec un admin donc voilà pourquoi je pose cette question.
merci

Oui Google va indexer les 2 et cela va créer du duplicate content.
Il Faut que www.mon-site/article?id=1 renvoit vers www.mon-site/nom-de-la-page

stephweb
Auteur

OK merci, et comment peut-on faire ceci?
pour qu' à chaque fois qu'on ajoute un article avec une URL "www.mon-site/article?id=nombre de l'id"
renvoi automatiquement à l'url qu'on lui a mis (dans un input en admin) "www.mon-site/nom-de-la-page".
?
Merci

stephweb
Auteur

C'est bon, quelqu'un m'a envoyé la réponse.

Cyprien G.: je pense que dan ton cas ctte solution te sera peut etre utile:

if (strpos($_SERVER['REQUEST_URI'], '?p=') !== false) // si on trouve ?p= dans l'url, alors on fait une redirection 301 vers le contenu de la variable.
{
header('Location:'.$_GET['p'], true, 301);
exit();
}

Merci , a+

@stephWeb: Effectivement, je pense que ça va pouvoir m'aider également. Merci :)

Le seul petit soucis est que les paramètres passés dans mon $_GET['p'] ne sont pas les mêmes que ceux de mes règles de réecritures.
Exemple: RewriteRule categorie-([a-zA-Z0-9]+) /index.php?p=posts/getPosts/$1

Tu vois où je veux en venir ?