URL Rewriting et Multilingues

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

kamkam
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 13 Nov 2006

URL Rewriting et Multilingues

Message le Lun Nov 13, 2006 22:47

Salut à tous !
J'ai un petit souci pour écrire mes redirections et j'ai besoin de vos lumières.
Je vous explique rapidement le contexte : je dois faire un site internet multilingues qui a une partie Grand Public (GP) et une partie Professionnel (Pro).
La partie Professionnel peut contenir X "univers" (j'entends par univers par exemple l'univers de la mode, l'univers de l'automobile,etc...).

Ce que je voudrais faire et que j'arrive à faire en partie c'est soit :

1/ Je souhaite me connecter au site GP :
Je tape l'url http://www.monsite.com/ je suis redirigé automatique sur http://www.monsite.com/fr/ (le français étant la langue par défaut)
Pour ce faire, j'ai mis dans mon fichier .htaccess :
Code: Tout sélectionner
RewriteEngine on

# redirection vers une langue si / seul demandé
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* /fr/ [R=301]


Et après pour info, lorsque je navigue dans le site j'utilise ce principe de règle :
Code: Tout sélectionner
# page exemple, ex: /en/exemple.html
RewriteRule ^(fr|en|es)/exemple.html$ exemple.php?l=$1 [QSA,L]


Pour le site GP, je n'ai pas de soucis mais l'autre partie je comprends rien.

Je vais essayer d'être clair.

2/ Je souhaite me connecter au site Pro
Je tape l'url http://www.monsite.com/mode/ ou http://www.monsite.com/automobile/

Je voudrais être redigiré sur http://www.monsite.com/mode/fr/ pour prendre le premier exemple.

Donc dans mon fichier .htaccess avoir un truc du genre :
Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^/(.+)/$
RewriteRule .* /$1/ [R=301]


Et après gérer avec un truc du style :
Code: Tout sélectionner
RewriteRule ^(.+)/(fr|en|es)/$ index.php?univers=$1&l=$2


Et donc pouvoir récupérer le paramètre 'univers' et la langue 'l'...

Et la difficulté pour moi c'est de faire fonctionner ses règles en parallèles, parce que comme je l'ai dit avant ça fonctionne nickel pour le site GP mais je sais que pour faire marcher l'autre aussi va falloir modifier les règles.

Enfin je sais pas si je suis clair mais c'est le bordel dans ma tête. Ca fait 1 semaine que j'essaie mais là franchement j'en peux plus.

Mais si quelqu'un peut me filer un petit coup de main je lui en serais reconnaissant.

Merci d'avance.[/code]
Dernière édition par kamkam le Lun Nov 13, 2006 23:38, édité 1 fois.


Malaiac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 357
Inscription: 4 Mai 2005

Message le Lun Nov 13, 2006 23:30

Tu as essayé :
([a-z]+)/(fr|en|es)/exemple.html$ exemple.html?univers=$1&l=$2 ?

kamkam
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 13 Nov 2006

Message le Lun Nov 13, 2006 23:41

euh... non!
Mais ta réponse ma permis de voir que j'étais pas clair déjà!

en gros j'aimerais si je tape http://www.monsite.com/ aller sur http://www.monsite.com/fr/ mais en réalité je pointe sur http://www.monsite.com/index.php?l=fr

et de même j'aimerais si je tape http://www.monsite.com/auto/ aller sur http://www.monsite.com/auto/fr/ mais en réalité je pointe sur http://www.monsite.com/index.php?univers=auto&l=fr.

je crois que c'est plus parlant comme ça.

merci.

kamkam
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 13 Nov 2006

Message le Mer Nov 15, 2006 19:39

Personne n'a une idée ?

kamkam
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 13 Nov 2006

Message le Sam Nov 18, 2006 16:29

Bon ben j'ai fait un truc qui est pas forcément tip top mais je le met au cas où quelqu'un aurait un jour ce genre de souci.

Code: Tout sélectionner
RewriteEngine on

# redirection vers la langue française http://www.monsite.com/fr/ si on tape http://www.monsite.com/
# ou redirection vers l'univers et la langue française http://www.monsite.com/univers/fr/ si on tape http://www.monsite.com/univers/

RewriteCond %{REQUEST_URI} ^(/[0-9A-Za-z-]{3,})?/$
RewriteRule .* %1/fr/ [R=301]

RewriteRule ^([0-9A-Za-z-]{3,})?/?(fr|en|es)/$ index.php?univers=$1&l=$2 [QSA,L]


Le principe est que mes langues sont définies sur 2 caractères et que pour ne pas partir en boucle infinie je ne prend en compte l'univers que si il a au minimum 3 caractères.

Si quelqu'un a mieux je suis preneur. A+

goa103
WRInaute discret
WRInaute discret
 
Messages: 78
Inscription: 15 Mai 2003

Re: URL Rewriting et Multilingues

Message le Ven Nov 24, 2006 21:23

kamkam a écrit:Je voudrais être redigiré sur http://www.monsite.com/mode/fr/


Je pense qu'il vaut mieux placer la langue avec l'univers : http://www.monsite.com/fr/mode/

C'est cette forme qui est la plus répandue et sans doute la plus logique/homogène. Comme ça quand quelqu'un navigue sur le site, l'adresse de base reste toujours http://www.monsite.com/fr/. Et passe pas du http://www.monsite.com/phoque/fr/ à l'http://www.monsite.com/ane/fr/ :P

kamkam a écrit:Et la difficulté pour moi c'est de faire fonctionner ses règles en parallèles, parce que comme je l'ai dit avant ça fonctionne nickel pour le site GP mais je sais que pour faire marcher l'autre aussi va falloir modifier les règles.

Enfin je sais pas si je suis clair mais c'est le bordel dans ma tête. Ca fait 1 semaine que j'essaie mais là franchement j'en peux plus.


Je vois pas pourquoi tu considères un cas spécial. Okay il y a deux modes de consultation mais quel rapport avec la réécriture des URLs ? ça devrait plutôt être géré par une session ou un cookie au chocolat.

goa103
WRInaute discret
WRInaute discret
 
Messages: 78
Inscription: 15 Mai 2003

Message le Ven Nov 24, 2006 21:28

kamkam a écrit:
Code: Tout sélectionner
RewriteRule ^([0-9A-Za-z-]{3,})?/?(fr|en|es)/$ index.php?univers=$1&l=$2 [QSA,L]


Le principe est que mes langues sont définies sur 2 caractères et que pour ne pas partir en boucle infinie je ne prend en compte l'univers que si il a au minimum 3 caractères.


Pas la peine de définir un min de 3 carac. puisque l'expression se limite aux seuls caractères alphanumériques. De plus l'univers et la langue sont clairement séparés par un / donc no problem si tu utilises + à la place de {3,}.

kamkam
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 13 Nov 2006

Message le Sam Nov 25, 2006 0:30

Ok je vais essayer comme tu dis et je vous tiens au courant.
Merci beaucoup pour ces réponses!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Liste des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des textes non cliquables en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités