Réécriture d'URL et Duplicate content

Nouveau WRInaute
Bonjour,

J'ai utilisé la réécriture d'URL pour mon site web

avant : index.php?page=1
après : 1-accueil.html

Tout fonctionne très bien mais je me pose la question au niveau de la duplication de contenu. Lorsque je rentre l'url "index.php?page=1" j'ai la même page que "1-accueil.html", logique mais est ce que cela signifie qu'il faut que je redirige aussi toutes les pages "index.php?page=id" vers "id-nompage.html" dans le .htaccess ?

P.S: Google a déjà référencé mes pages sans la réécriture d'URL....

Merci pour vos réponses
 
WRInaute passionné
Bonjour,


Il faut obligatoirement faire quelque chose pour n'avoir qu'une seule URL pour un seul contenu... sinon c'est Duplicate Content !

A toi de jouer !
 
WRInaute accro
Parcequ'il y a surement une erreur d'écriture...

Essaye :
Code:
RedirectPermanent /index.php?id=1 http://www.ndd.tld/1-accueil.html
RewriteRule ^1-accueil.html /index.php?id=1  [R=301]

Ca redirige en 301 index.php?id=1 vers 1-accueil.html
et ensuite ça récrit en index.php?id=1 pour le serveur
 
WRInaute impliqué
j'en profite pour demander car vous avez l'air de bien connaitre les réécriture d'url (j'ai déjà posé la question dans un post dédié mais aucune réponse) :

quel code utiliser pour rediriger http://www.nomdedomaine.com/? vers http://www.nomdedomaine.com sachant que j'ai déjà çà dans mon htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^detecteur-de-metaux.com$
RewriteRule ^(.*) http://www.detecteur-de-metaux.com$1 [QSA,L,R=301]
RewriteCond %{REQUEST_URI} ^/index.html
RewriteRule $ http://www.detecteur-de-metaux.com/ [R=301,L]

j'ai rajouté çà mais çà fait une boucle:
RewriteCond %{REQUEST_URI} ^/?
RewriteRule $ http://www.detecteur-de-metaux.com/ [R=301,L]


merci d'avance.
 
Nouveau WRInaute
Rod la Kox a dit:
Parcequ'il y a surement une erreur d'écriture...

Essaye :
Code:
RedirectPermanent /index.php?id=1 http://www.an1000.org/1-accueil.html
RewriteRule ^1-accueil.html /index.php?id=1  [R=301]

Ca redirige en 301 index.php?id=1 vers 1-accueil.html
et ensuite ça récrit en index.php?id=1 pour le serveur

Merci Rod de m'aider, j'ai donc essayé le code que tu m'as donné :

La réécriture d'URL se fait bien lorsque je cherche 1-accueil.html
La redirection ne se fait pas lorsque je cherche index.php?page=1

Je précise je suis chez OVH peut être le serveur a une configuration spécifique pour les règles de chemins.

Pourquoi la redirection 301 on la met sur la rewrite rule et non sur le redirect permanent ?

Je continu mes essais de mon côté si tu as une idée...

Merci
 
WRInaute accro
T'a mis ton ndd, parceque j'ai collé le mien pour l'exemple.

Sinon, un redirectpermanent fais le 301 automatiquement
... et le 301 pour la réécriture ne sert à rien, c'est une erreur.



@Alex84
Essaye ça : (mais c'est pas sur du tout)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^detecteur-de-metaux.com$
RewriteCond %{HTTP_HOST} ^detecteur-de-metaux.com/?$
RewriteRule ^(.*) http://www.detecteur-de-metaux.com$1 [QSA,L,R=301]
 
Nouveau WRInaute
J'ai un peu avancé sur mon problème...

J'ai lu sur d'autres forum que le redirectpermanent pose effectivement problème avec les query string.
Ils préconisent une méthode du genre :

RewriteCond %{QUERY_STRING} ^page=page=acces-clients&mod=creation-client$
RewriteRule ^index\.php$ http://www.demenagement-reunion-mayo...eunion/transit ... union.html? [L,R=301]

J'ai testé effectivement l'adresse index.php?page=1 est bien réécrite en 1-accueil.html

SUPER....j'ai la bonne url mais le serveur lui ne reçoit plus la variable

pas évident cette histoire
 
Nouveau WRInaute
Je n'ai toujours pas trouvé de réponse à mon problème, je l'explique à nouveau si défois quelqu'un à déjà eu la même experience.

J'ai créé un site dynamique avec comme url : www.ndd.tld/index.php?page=1
Il est indexé par google

Après avoir lu pas mal de conseil sur WRI j'ai décidé de mettre en place la réécriture d'URL et maintenant mes pages sont de la forme : www.ndd.tld/1-accueil.html

J'en ai profité pour redirigé ndd.tld et www.ndd.tld vers www.ndd.tld/1-accueil.fr et tout fonctionne bien

Le problème c'est que mes pages sont indexées par google sous la forme
www.ndd.tld/index.php?page=1,
www.ndd.tld/index.php?page=2,
www.ndd.tld/index.php?page=3,
etc...

J'aurai souhaité faire une redirection 301 de www.ndd.tld/index.php?page=1 vers www.ndd.tld/1-accueil.fr

J'ai essayé beaucoup de méthodes sans succès, si le cas intéresse quelqu'un....
 
WRInaute impliqué
Rod la Kox a dit:
T'a mis ton ndd, parceque j'ai collé le mien pour l'exemple.

Sinon, un redirectpermanent fais le 301 automatiquement
... et le 301 pour la réécriture ne sert à rien, c'est une erreur.



@Alex84
Essaye ça : (mais c'est pas sur du tout)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^detecteur-de-metaux.com$
RewriteCond %{HTTP_HOST} ^detecteur-de-metaux.com/?$
RewriteRule ^(.*) http://www.detecteur-de-metaux.com$1 [QSA,L,R=301]


merci à toi d'avoir essayé de m'aidé.
je viens d'essayer mais malheureusement çà ne marche pas, le /? reste /?
 
Nouveau WRInaute
J'ai pu me dépatouiller tout seul ouf. Je laisse la solution au cas ou quelqu'un se trouve dans le même cas :


AVANT LA RÉÉCRITURE :

site :
http://www.ndd.tld

page:
index.php

variable:
page

Je souhaitais réécrire :

http://www.ndd.tld/index.php?page=1

en :

http://www.ndd.tld/1-peuimporte.html

et rediriger les anciennes adresses vers les nouvelles en 301 entre autre pour notre ami google.
mais aussi :

http://ndd.tld vers http://www.ndd.tld/1-peuimporte.html

et :

http://www.ndd.tld vers http://www.ndd.tld/1-peuimporte.html

pour éviter le contenu dupliqué

RESULTAT

il m'a suffit de changer la variable page en nouvellepage

.htaccess :

RewriteCond %{HTTP_HOST} ^ndd.tld$
RewriteRule (.*) http://www.ndd.tld/1-peuimporte.html [R=301,L]
RewriteRule ^([0-9]*)-.*\.html$ index.php?nouvellepage=$1 [L]

index.php

$URi = $_SERVER["REQUEST_URI"];

$motif='\'/index\.php\?page='.$_GET['page'].'\'i';

if($motif == '\'/index\.php\?page=1\'i'){
if (preg_match($motif,$URi))
{
header("Status: 301 Moved Permanently");
header("Location: http://www.ndd.tld/1-peuimporte.html");
exit;
}
}

REMARQUE:

Pour chaque page j'ai réécris la redirection et maintenant ca marche. Après au niveau propreté je me doute que ce ne sois pas terrible
 
Nouveau WRInaute
Rodaou a dit:
J'ai pu me dépatouiller tout seul ouf. Je laisse la solution au cas ou quelqu'un se trouve dans le même cas :

il m'a suffit de changer la variable page en nouvellepage

.htaccess :

RewriteCond %{HTTP_HOST} ^ndd.tld$
RewriteRule (.*) http://www.ndd.tld/1-peuimporte.html [R=301,L]
RewriteRule ^([0-9]*)-.*\.html$ index.php?nouvellepage=$1 [L]

index.php

$URi = $_SERVER["REQUEST_URI"];

$motif='\'/index\.php\?page='.$_GET['page'].'\'i';

if($motif == '\'/index\.php\?page=1\'i'){
if (preg_match($motif,$URi))
{
header("Status: 301 Moved Permanently");
header("Location: http://www.ndd.tld/1-peuimporte.html");
exit;
}
}

REMARQUE:

Pour chaque page j'ai réécris la redirection et maintenant ca marche. Après au niveau propreté je me doute que ce ne sois pas terrible

Je débute en référencement et encore pire en php. Même soucis : mes anciennes pages sont indexées et les nouvelles également après réécriture. Je vois bien ta solution mais vu que je suis vraiment débutante, j'ai du mal à l'appliquer.

J'ai déjà fais une redirection 301 de http://monsite.com vers http://www.monsite.com dans mon fichier .htaccess et cela marche très bien

comment appliquer ta solution pour rediriger maintenant les index.php?option=...3243 déjà indexés par google ?

Est-ce que je dois mettre :
Code:
RewriteRule ^([0-9]*)-.*\.html$  index.php?nouvellepage=$1 [L]
exactement de cette façon dans mon fichier .htacess et après :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsite.com$
RewriteRule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]

et si oui, y'a-t-il un endroit particulier dans le .htaccess où je dois mettre cela ou non ?

et en ce qui concerne le index.php

où placer le code exactement ? et comment faire pour faire cela pour chaque page. Désolée de poser des questions surement stupides mais je ne sais plus trop quoi faire...

Merci beaucoup d'avance
 
Discussions similaires
Haut