Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

gestion du multilangue

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
evaness
Nouveau WRInaute

Inscrit le: 20 Aoû 2003
Messages: 36
Localisation: Barcelone

URL permanente de ce messagePosté le : Mar Déc 16, 2003 15:15    Sujet du message: gestion du multilangue

bonjour,
j'ai un site multilangue où le parametre de langue doit etre recu par get dans toutes mes pages, je veux donc que
/es/mapage.php --> mapage.php?lang=es
et que ca marche pour tous les cas:
/es/repertoire/mapage.php --> /repertoire/mapage.php?lang=es
/es/repertoire/mapage.php?param1=1& param2=2 --> /repertoire/mapage.php?param1=1& param2=2&lang=es

j'ai essayé
Code:
RewriteRule ^(..)/(.+)$ $2&Lang=$1 [L]

mais ca na marche pas du tout, et en plus je ne vois pas comment lui dire de mettre à la fin
?lang=$1 s'il n'y a pas d'autres parametres GET ou
&lang=$1 s'il y en a d'autres

Je débute en url rewriting, si quelqu'un peut m'aider, merci.
 
evaness Visiter le site web du posteur
nikoshr
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Juil 2003
Messages: 319

URL permanente de ce messagePosté le : Mar Déc 16, 2003 15:22    Sujet du message: gestion du multilangue

Quelque chose comme
Code:
RewriteRule ^(..)/(.+)$ $2?Lang=$1 [QSA,L]
Le flag QSA indique qu'il faut ajouter les paramètres passés avec l'URL.

Ce post http://www.webrankinfo.com/forums/topic_previous_1694.htm devrait t'intéresser (post d'hetzeld, en bas).
 
nikoshr Visiter le site web du posteur
evaness
Nouveau WRInaute

Inscrit le: 20 Aoû 2003
Messages: 36
Localisation: Barcelone

URL permanente de ce messagePosté le : Mar Déc 16, 2003 19:36    Sujet du message: gestion du multilangue

merci, ca a l'air de bien marcher.

mais j'ai encore qq questions:

1> quand je met la regle:
Code:
RewriteRule ^(..)/(.+)$ http://localhost/$2?Lang=$1 [QSA,L]


j'ai bien /es/mapage.php --> mapage.php?lang=es

mais dans la barre d'adresse de mon navigateur (IE 6.0, easyphp 1.6, Win XP Pro) je vois mapage.php?lang=es ;d'apres ce que j'avais compris de l'url rewriting, je ne devrais voir plutot l'adresse d'origine?

2>/Es/mapage.php --> mapage.php?lang=es
je perds ma majuscule du "Es", c'est parceque je suis en local avec windows et easyphp?
 
evaness Visiter le site web du posteur
nikoshr
WRInaute impliqué
WRInaute impliqué

Inscrit le: 10 Juil 2003
Messages: 319

URL permanente de ce messagePosté le : Mer Déc 17, 2003 10:22    Sujet du message: gestion du multilangue

1/ En indiquant dans la règle un nom de domaine RewriteRule ...$ http://localhost/... tu forces une redirection et pas une translation d'URL au niveau du serveur, ce que faisait la syntaxe initiale.

2/ Apache ou le navigateur, mais c'est fait avant l'UR
 
nikoshr Visiter le site web du posteur
evaness
Nouveau WRInaute

Inscrit le: 20 Aoû 2003
Messages: 36
Localisation: Barcelone

URL permanente de ce messagePosté le : Mer Déc 17, 2003 11:52    Sujet du message: gestion du multilangue

bon, d'accord. si je met -http://localhost/ , c'est parce que j'ai en local une vieille vertion d'apache et que ca ne marche pas sans ça, mais j'enleverais les localhost avant d'envoyer le .htacess sur le vrai serveur.

une autre question:
toutes mes pages ressembleront donc a /es/mapage.php , avec un faux répertoire de langue devant, sauf la page initiale /index.php
je voudrais que ceux qui entrent avec -www.monsite.com/ ou -www.monsite.com/index.phtml soient redirigés sur la langue de leur navigateur, grace à la variable HTTP_ACCEPT_LANGUAGE (ou français s'il n'y en a pas)
je pensais ecrire:
Code:
RewriteCond  %{HTTP_ACCEPT_LANGUAGE} ^fr$
RewriteRule  ^index.php$  index.php?lang=fr [L]
RewriteCond  %{HTTP_ACCEPT_LANGUAGE} ^es$
RewriteRule  ^index.php$  index.php?lang=es [L]
RewriteCond  %{HTTP_ACCEPT_LANGUAGE} ^$
RewriteRule  ^index.php$  index.php?lang=fr [L]

1> ça ne marche pas, on dirait qu'il ne peut pas recupérer les 2 lettres de la langue.
2> j'ai essayé juste les 2 dernières lignes et j'ai une boucle infinie, comment je peux lui dire: "uniquement si index.php n'a pas deja de parametres"?
 
evaness Visiter le site web du posteur
evaness
Nouveau WRInaute

Inscrit le: 20 Aoû 2003
Messages: 36
Localisation: Barcelone

URL permanente de ce messagePosté le : Mer Déc 17, 2003 14:59    Sujet du message: gestion du multilangue

bah, laissez tomber, la detection du HTTP_ACCEPT_LANGUAGE je vais la faire en PHP, ça sera plus facile
 
evaness Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Autres sujets de discussion :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort