URL Rewriting : le paramètre de la langue
14 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

fredm - WRInaute impliqué

- Messages: 549
- Inscription: 2 Nov 2004
URL Rewriting : le paramètre de la langue
Bonjour
J'ai un site en 2 langues (fr et en), avec une page default.asp?lang=[fr ou en].
Grâce à ce topic je sais rediriger cette page en example.com/ pour le français et example.com/en/ pour l'anglais.
Mais dans le code, je dois écrire le terme "fr" ou "en". Actuellement le code est :
Donc même si j'écris comme ceci, le problème est que je vais voir apparaitre example.com/fr/ :
Quelqu'un pourrait me dire comment je peux solutionner le problème ?
Merci, Fred
J'ai un site en 2 langues (fr et en), avec une page default.asp?lang=[fr ou en].
Grâce à ce topic je sais rediriger cette page en example.com/ pour le français et example.com/en/ pour l'anglais.
Mais dans le code, je dois écrire le terme "fr" ou "en". Actuellement le code est :
- Code: Tout sélectionner
<a href="default.asp?lang=<%=session("current_lang_selected")%>"
Donc même si j'écris comme ceci, le problème est que je vais voir apparaitre example.com/fr/ :
- Code: Tout sélectionner
<a href="/<%=session("current_lang_selected")%>/"
Quelqu'un pourrait me dire comment je peux solutionner le problème ?
Merci, Fred
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: URL Rewriting : le paramètre de la langue
- Code: Tout sélectionner
<a href="/<%=session("current_lang_selected") == 'fr'?'':session("current_lang_selected")%>/"
Juste pour te montrer le principe.
Le mieux est de créer une fonction spécifique te permettant de récupérer la langue ou rien (si c'est fr).
-

UsagiYojimbo - WRInaute accro

- Messages: 8580
- Inscription: 23 Nov 2005
Re: URL Rewriting : le paramètre de la langue
De mémoire :
- Code: Tout sélectionner
<a href="/<%
if session("current_lang_selected") <> 'fr' then
response.write(session("current_lang_selected") & '/')
end if
%>"
-

fredm - WRInaute impliqué

- Messages: 549
- Inscription: 2 Nov 2004
Re: URL Rewriting : le paramètre de la langue
Eh non
c'est syntax error au niveau du quote 'fr'
- Code: Tout sélectionner
if session("current_lang_selected") <> 'fr' then
---------------------------------------^
-

UsagiYojimbo - WRInaute accro

- Messages: 8580
- Inscription: 23 Nov 2005
Re: URL Rewriting : le paramètre de la langue
Tu as essayé avec les "" plutôt ?
-

fredm - WRInaute impliqué

- Messages: 549
- Inscription: 2 Nov 2004
Re: URL Rewriting : le paramètre de la langue
Merci, en fait ça marche super, c'est juste les quotes à remplacer par les doubles-quotes:
- Code: Tout sélectionner
href="/<%
if session("current_lang_selected") <> "fr" then
response.write(session("current_lang_selected") & "/")
end if
%>"
-

fredm - WRInaute impliqué

- Messages: 549
- Inscription: 2 Nov 2004
Re: URL Rewriting : le paramètre de la langue
Je galère depuis des heures à cause de ce paramètre de langue
En fait je voulais changer ceci pour bien séparer le paramètre le langue.
en celà
J'ai créé ces redirections :
Et bien entendu ça ne marche pas pour la dernière règle (pour les pages "template.asp")... alors qu'à titre d'exemple la règle suivante marche bien pour me faire le /en/ que je veux:
Pourriez-vous m'aider sur ce problème ?
En fait je voulais changer ceci pour bien séparer le paramètre le langue.
- Code: Tout sélectionner
example.com/template.asp?lang=en¶m1=x¶m2=y&...
en celà
- Code: Tout sélectionner
example.com/en/template.asp?¶m1=x¶m2=y&...
J'ai créé ces redirections :
- Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})\/$ /default.asp?lang=$1 [L] >>> ok
RewriteRule ^([a-z]{2})\/(+*)$ /$2&lang=$1 [L] >>> ko
Et bien entendu ça ne marche pas pour la dernière règle (pour les pages "template.asp")... alors qu'à titre d'exemple la règle suivante marche bien pour me faire le /en/ que je veux:
- Code: Tout sélectionner
RewriteRule ^([a-z]{2})/fiche-([0-9]+).html(.*)$ /template.asp?page=fiche&idfiche=$2&lang=$1$3 [L] [L]
Pourriez-vous m'aider sur ce problème ?
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: URL Rewriting : le paramètre de la langue
Les paramètres d'URL ne sont pas "capturable" dans un RewriteRule. Si tu veux que ta redirection transmettent les paramètres à l'adresse redirigée, il faut mettre QSA :
Pourquoi avais-tu mis un \ devant les / ? Normalement, ce n'est pas utile.
Essaie ce code, ça devrait faire avancer le chmiblic
- Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/$ /default.asp?lang=$1 [L,QSA]
RewriteRule ^([a-z]{2})/(+*) /$2?lang=$1 [L,QSA]
Pourquoi avais-tu mis un \ devant les / ? Normalement, ce n'est pas utile.
Essaie ce code, ça devrait faire avancer le chmiblic
-

fredm - WRInaute impliqué

- Messages: 549
- Inscription: 2 Nov 2004
Re: URL Rewriting : le paramètre de la langue
Ca ne marche pas 
(il y avait une erreur dans ta ligne, j'ai remplacé "?" par "&"):
Concrètement, le but est de faire correspondre (par exemple, car le nombre de paramètres est variable):
/template.asp?page=LISTE&idsupport=1&idtype=8&lang=en
à
/en/template.asp?page=LISTE&idsupport=1&idtype=8
Les paramètres d'URL semble être capturables sans le QSA, vu que cette ligne marche bien. Tous les paramètres sont bien dans le $3:
voir ici: http://www.agenceducapdantibes.com/en/fiche-458687.html&idtype=12&budg ... =&curpage=
(il y avait une erreur dans ta ligne, j'ai remplacé "?" par "&"):
- Code: Tout sélectionner
RewriteRule ^([a-z]{2})/(+*) /$2&lang=$1 [L,QSA]
Concrètement, le but est de faire correspondre (par exemple, car le nombre de paramètres est variable):
/template.asp?page=LISTE&idsupport=1&idtype=8&lang=en
à
/en/template.asp?page=LISTE&idsupport=1&idtype=8
Les paramètres d'URL semble être capturables sans le QSA, vu que cette ligne marche bien. Tous les paramètres sont bien dans le $3:
- Code: Tout sélectionner
RewriteRule ^([a-z]{2})/fiche-([0-9]+).html(.*)$ /template.asp?page=fiche&idfiche=$2&lang=$1$3 [L]
voir ici: http://www.agenceducapdantibes.com/en/fiche-458687.html&idtype=12&budg ... =&curpage=
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: URL Rewriting : le paramètre de la langue
Dans l'adresse que tu fournis, je ne suis pas sur que ces paramètres soit des Query String.
Les Query String sont définis par la séparation de l'adresse et de ces derniers par un point d'interrogation. Hors, je n'en vois pas dans ton lien.
Je te confirme aussi que c'est bien "?" et non pas "&" qu'il faut mettre.
Je viens de voir une erreur dans le code, ce n'est pas (+*) mais (.*) qu'il faut mettre :
De plus, si tu veux vraiment contrôler les langues utilisables, spécifie les :
De cette manière, si quelqu'un met une langue non supportée, tu peux gérer un 404.
Les Query String sont définis par la séparation de l'adresse et de ces derniers par un point d'interrogation. Hors, je n'en vois pas dans ton lien.
Je te confirme aussi que c'est bien "?" et non pas "&" qu'il faut mettre.
Je viens de voir une erreur dans le code, ce n'est pas (+*) mais (.*) qu'il faut mettre :
- Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/$ /default.asp?lang=$1 [L,QSA]
RewriteRule ^([a-z]{2})/(.*) /$2?lang=$1 [L,QSA]
De plus, si tu veux vraiment contrôler les langues utilisables, spécifie les :
- Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(fr|en)/$ /default.asp?lang=$1 [L,QSA]
RewriteRule ^(fr|en)/(.*) /$2?lang=$1 [L,QSA]
De cette manière, si quelqu'un met une langue non supportée, tu peux gérer un 404.
14 messages
• Page 1 sur 1
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 :
- Probleme url rewriting : Parametre get ?
- url rewriting + paramètre non rewrité
- URL Rewriting et page a 1 parametre
- cacher un paramètre par url rewriting
- ajout d'un paramètre en url rewriting
- URL Rewriting directory + Parametres avec condition sur parametre
- URL rewriting et changement de langue
- URL Rewriting et Langue RUSSE
- URL Rewriting : 2 paramètres - page et langue
- [URL Rewriting] Réécriture en fonction de la langue
- Calcul du nombre de 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 citations 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
