kamkam Posté 13 Novembre 2006 Posté 13 Novembre 2006 (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.htmlRewriteRule ^(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é 15 Novembre 2006 par Dan
kamkam Posté 13 Novembre 2006 Auteur Posté 13 Novembre 2006 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 Posté 18 Novembre 2006 Auteur Posté 18 Novembre 2006 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+
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant