Aller au contenu

Sujets conseillés

Posté (modifié)

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 :

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 :

# 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.

Et plus précisément dans mon fichier .htaccess avoir un truc du genre :

un_préfixe_qui_reconnait_l_univers/(fr|en|es)/exemple.html$ exemple.html?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.

Modifié par Dan
Posté

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.

Posté

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.

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+

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...