Page accessible a plusieurs adresses - duplicate content

Nouveau WRInaute
Bonjour,

J'ai un gros soucis d'url sur mon site ..
C'est mon ami google webmaster tools qui m'a signalé des pages avec des descriptions identiques et titres identiques

Prenons un exemple :
http://www.jeux-de-fille.eu/game/199.html
est aussi accessible a cette adresse
http://www.jeux-de-fille.eu/game/199/La ... plage.html
mais aussi à celles-ci
http://www.jeux-de-fille.eu/game/199/ce ... uxici.html
et aussi
http://www.jeux-de-fille.eu/index.php?p ... -la-plage/
et http://www.jeux-de-fille.eu/index.php?p ... tuveuxici/

Sur google webmaster tools seules deux adresses sont connues ouf et ce pour tous les articles du site

Il s'agit de :
http://www.jeux-de-fille.eu/game/xxx.html
et http://www.jeux-de-fille.eu/game/xxxx/L ... plage.html (xxx chiffre de 1 à 5000 maxi)

Je ne sais plus quoi et comment faire ...Pour éviter ce duplicate content

Dois je renvoyer les urls du type e http://www.jeux-de-fille.eu/game/xxx/*.html vers http://www.jeux-de-fille.eu/game/xxx.html
plus de doublons mais plus le titre de l'article dans url ? Si oui que mettre dans ce fichu .htaccess ?

Que faire d'autre ?



J'ai essayé différentes syntaxes mais rien trouvé qui fonctionne ...
voici le.htaccess du site

Code:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.jeux-de-fille.eu$
RewriteRule ^(.*) http://www.jeux-de-fille.eu/$1 [QSA,L,R=301]

RewriteRule ^(.*)\.html$ /index.php?params=$1

Merci pour toute aide
Je file continuer mes tests ...
 
WRInaute impliqué
kaki33 a dit:
Dois je renvoyer les urls du type e http://www.jeux-de-fille.eu/game/xxx/*.html vers http://www.jeux-de-fille.eu/game/xxx.html
plus de doublons mais plus le titre de l'article dans url ? Si oui que mettre dans ce fichu .htaccess ?

Pour faire cette redirection tu peux utiliser la règle suivante:

Code:
RewriteRule game/(.*)\.html /game/$1.html [QSA,R=301]

Tu la met avant ta dernière règle.

Ton essai avec redircetmatch ne marche pas car tu mélange la syntaxe de redirect avec la syntaxe de rewriterule. Relis la doc :wink:
 
Nouveau WRInaute
Bonjour

merci pour la solution avec un peu de retard mais malheureusement pour moi ca ne fonctionne pas
j'ia un joli "There was an internal system error"

Code:
RewriteEngine on


RewriteCond %{HTTP_HOST} !^www.jeux-de-fille.eu$
RewriteRule ^(.*) http://www.jeux-de-fille.eu/$1 [QSA,L,R=301]

RewriteRule game/(.*)\.html /game/$1.html [QSA,R=301] 
RewriteRule ^(.*)\.html$ index.php?params=$1 [L]

j'ai essayé de changer cette syntaxe mais non ca ne veux pas fonctionner ...cela vient-il du script utilisé ?
 
WRInaute impliqué
J'ai dit n'importe quoi, ma règle boucle.

Essaie celle ci plutot:

Code:
RewriteRule game/([^/]*)/(.*)\.html /game/$1.html [QSA,R=301]

au lieu de

Code:
RewriteRule game/(.*)\.html /game/$1.html [QSA,R=301]
 
Nouveau WRInaute
Merci mais c'est toujours le même soucis ici
Ci dessous la fonction qui met en forme les urls sur le site ..le mode rewrite est activé dans la config du site

Code:
function build_links($args='') {

	global $links_arr, $cfg;
	global $prepend;
	global $append;

	$args = parse_args($args);
	isset($args['type']) ? $type=$args['type'] : $type = "path_info";

	if ($type == "mod_rewrite") {
		$prepend = "";
		$append = ".html";
	} else if ($type == "path_info") {
		$prepend = "index.php/";
		$append = "/";
	} else if ($type == "query_string") {
		$prepend = 'index.php?params=';
		$append = "/";
	}

	if (get_site_config("name=gamenameinurl")==1) { // If the user is choosing to include the game name in URLs.

		global $gamelist;

		$q = "SELECT `id`, `name` FROM `games`";
		$gamelist1 = get_games("htmlize=false&diffquery="._sp($q));
//		$gamelist1 = get_games("htmlize=false");
		$links_arr['game'] = 'game/%id%/%name%';
		foreach ($gamelist1 as $n) {
			$id = $n['id'];
			$name = $n['name'];

			$name = str_replace(" ", "-", $name);
			$name = str_replace("'", "_", $name);
			$name = str_replace('"', "_", $name);
			$name = str_replace('/', "_", $name);
			$name = str_replace("\\", "_", $name);

			$name = rawurlencode($name);

			$gamelist[$id] = $name;
		}

		} else { // If the user just wants the game ID.
			$links_arr['game'] = 'game/%id%';
	}
}
 
Discussions similaires
Haut