paramètre forcé dans l'url pour rewriting

Nouveau WRInaute
Bonjour,

J'utilise de l'url rewriting sur ma boutique. Le paramètre langue est passée dans un dossier pour créer l'url. Ensuite le dossier de langue disparait de l'url car le paramètre est enregistré dans la session.

Est-il possible de toujours afficher la langue pour éviter de disperser les url ?

Par exemple aujourd'hui pour une catégorie j'ai 3 urls :
http://www.notes-de-provence.com/cat36_57/beauty.html : langue par défaut
http://www.notes-de-provence.com/en/cat ... eauty.html : langue english
http://www.notes-de-provence.com/fr/cat ... eauty.html : langue french

alors que seules les 2 dernières suffisent.

personne n'est confronté à ce problème ?

Jerome
 
WRInaute occasionnel
Bonjour,

En effet, je ne vois pas ce qui t'empecherait d'afficher en permanence la langue dans les URLs.
Supposons que le site soit en PHP, et que la langue soit stockée dans $_SESSION['lang'].
Il suffit de remplacer chaque url du site par :
Code:
http://www.example.net/<?php echo $_SESSION['lang']; ?>/categorie/fichier.html
Par contre, il va falloir mettre des redirections 301 des anciennes adresses (sans la langue) vers les nouvelles, le temps que les moteurs et les utilisateurs se mettent à jour.
 
WRInaute impliqué
Ne pas avoir une url langue pas défaut et une url par langue, car va y avoir du duplicate content entre les url par défaut et l'url utilisée par la langue par défaut.
 
Nouveau WRInaute
duplicate

Oui effetivement il risque d'y avoir duplicate content.

J'ai comme règle de rewriting pour la langue :

RewriteRule ^([a-z]{2})/(.*)$ $2?language=$1&%{QUERY_STRING}


Est ce là qu'il faut ajuter le code pour afficher en permanence ?

Jerome
 
WRInaute occasionnel
jwindal a dit:
Le paramètre langue est passée dans un dossier pour créer l'url. Ensuite le dossier de langue disparait de l'url car le paramètre est enregistré dans la session.
A y réfléchir... tu n'as même pas besoin de la mise en session ...

SI
http://www.example.com/fichier.html
ALORS Rediriger vers http://www.example.com/langue-par-defaut/fichier.html

SI
http://www.example.com/fr/fichier.html
ALORS Ok, langue = fr

Tu fais cela en testant en PHP la valeur de $_GET['language'], et tu laisses ton htaccess tel quel.
Ce qui permet à l'internaute de remplacer "fr" par "en" directement dans l'url, et d'être redirigé vers la page traduite.
Enfin moi je ferai comme ça ... ;)
 
Nouveau WRInaute
C'est bien ça

C'est bien ça je pense.

Le problème c'est que j'ai une boutique dynamique (oscommerce) et que je ne sais pas où chercher pour remplcer tous les liens

merci de ton aide
 
WRInaute occasionnel
Alors là je ne peux pas te dire.
Un spécialiste d'oscommerce est demandé à l'accueil, un spécialiste, merci... :roll:
 
Discussions similaires
Haut