URL Rewriting et $PHP_SELF

  • Auteur de la discussion Auteur de la discussion troops
  • Date de début Date de début
WRInaute occasionnel
J'ai mons lien qui ce présente comme ceci :

Code:
<A HREF="<? echo substr($PHP_SELF,0,strlen($PHP_SELF)-4); ?>_lngds.php"><img src="/Images/Drapeau_ALLEMAND.gif" border="0" width="32" height="32" alt="Deutsh" STYLE="margin-top:4"></a>

Au final le lien est comme ceci par exemple pour la page index.php : indexfr.php et en url writing je renvoie sur index.php?idlang=fr probleme c que ca marche que pour la page d'index... comment puis modifier mon htaccess pour que ca marche quelque soit la page qui contient la chaine _lngxx (xx = idlang)

Code:
RewriteRule ^index_lngfr.php$ /index.php?idlang=fr

Merci pour votre aide
 
WRInaute occasionnel
Code:
RewriteRule ^index_lng([a-z]{2})\.php$ /index.php?idlang=$1

Ca devrait fonctionner comme ça. Le code doit être composé de 2 lettres de l'alphabet, en miniscules.

Je te conseille vivement de lire l'article sur l'URL rewriting accessible par la page d'accueil du site. Et il y a d'autres messages très instructifs sur le sujet, avec des liens vers les sites de référence à ne pas louper.

Bonne chance, l'URL rewriting est un super outil lorsqu'utilisé à bon escient !

Jocelyn

(Petit oubli de parenthèses dans le code. Corrigé.)

Encore un ajout :
Ce code répond peut-être mieux à ta question :
Code:
RewriteRule ^([a-z]+)_lng([a-z]{2})\.php$ /$1.php?idlang=$2

Tu peux choisir la page que tu veux, et la langue que tu veux.
 
WRInaute occasionnel
Fantastique ca marche impecablement, le probléme c que maintenant si je change de page je n'ai plus la langue sauvé dans la session et que ca va me retourner sur la langue par défaut a chaque fois... tu n'aurai pas une solution a ce probléme ?
 
WRInaute occasionnel
Bon j'ai trouvé me reste qu'a modifié tout mes liens avec _lngxx.php au bout... Enfin bon j'espére qu'après ca mon site sera correment référencer dans toutes les langues
 
WRInaute occasionnel
troops a dit:
Fantastique ca marche impecablement, le probléme c que maintenant si je change de page je n'ai plus la langue sauvé dans la session et que ca va me retourner sur la langue par défaut a chaque fois... tu n'aurai pas une solution a ce probléme ?

Code:
RewriteRule ^([a-z]+)_lng([a-z]{2})\.php$ /$1.php?idlang=$2 [QSA]

QSA = Query String Append : ça ajoute la "query string" au lieu de la remplacer. Donc l'id de session est conservé.
Voir la doc officielle :
http://httpd.apache.org/docs/mod/mod_rewrite.html
http://httpd.apache.org/docs/misc/rewriteguide.html

troops a dit:
Bon j'ai trouvé me reste qu'a modifié tout mes liens avec _lngxx.php au bout... Enfin bon j'espére qu'après ca mon site sera correment référencer dans toutes les langues

Il me semble que c''est l''id de session qui empêche Google de référencer correctement tes pages. Donc ça ne va pas fonctionner tant que tu le conserves. Il y a eu des messages sur le sujet. Je n'ai pas tout suivi sur le sujet car je ne suis pas trop concerné (je n'utilise pas les sessions, et je n'ai aucun forum).

Jocelyn
 
H
hetzeld
Guest
Troops,

En lisant ton post, je n'ai rien à ajouter à ce que t'a brillament expliqué Jocelyn....
... suaf un point :oops:

Attention aux variables de session dans l'URL, c'est rédhibitoire pour Google (et d'autres).
Lorsque le navigateur n'accepte pas les cookies , PHP a la "vilaine" manie d'ajouter une variable PHPSESSID dans l'URL.
Il faut absolument éviter cela en désactivant le trans_sid et en utilisant des URLs absolues.

L'autre solution est de se passer des sessions, avec un peu d'algorithmique et de PHP on y arrive très bien. Surtout que tu n'as pas un site d'e-commerce et l'obligation de garder un caddie.

Dan
 
Nouveau WRInaute
suppression de l'id de session dans l'adresse

tu peux également mettre en haut de tes pages:

ini_set("url_rewriter.tags","");

djoan
 
WRInaute discret

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut