URL Rewriting via .htaccess > incompréhension

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

dev_web2
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 21 Oct 2008

URL Rewriting via .htaccess > incompréhension

Message le Mar Nov 30, 2010 9:45

Bonjour,

j'ai mis en place une réecriture basique de mes urls comme suit.

monsite.com/index.php?lang=fr => monsite.com/fr/

J'ai configurer le .htaccess au root de mon site avec le contenu suivant :

Code: Tout sélectionner
Options FollowSymLinks

RewriteEngine on

RewriteRule ^(fr|en)/?$ index.php?lang=$1 [L]


Ce qui résulte de cela : lorsque j'entre l'url www.monsite.com/fr je suis redirigé vers www.monsite.com/index.php?lang=fr alors que je souhaite est que l'url monsite.com/fr soit maintenue et que côté serveur, la variable $_GET lang transite correctement.

Merci d'avance pour vos avis / remarque(s).


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: URL Rewriting via .htaccess > incompréhension

Message le Mar Nov 30, 2010 10:26

Les paramètres d'URL ne peuvent être contrôlés dans les RewriteRule.
Il faut utiliser RewriteCond.

RewriteCond %{QUERY_STRING} lang=fr
RewriteRule (.*) /fr/$1 [L]
RewriteCond %{QUERY_STRING} lang=en
RewriteRule (.*) /en/$1 [L]

Je ne sais pas si on peut capturer dans les RewriteCond, je ne me suis jamais posé la question.


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: URL Rewriting via .htaccess > incompréhension

Message le Mar Nov 30, 2010 11:06

la règle est bonne normalement. La redirection ne se fait pas en php plutôt?


alaincassis
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 448
Inscription: 6 Aoû 2006

Re: URL Rewriting via .htaccess > incompréhension

Message le Mar Nov 30, 2010 11:20

Et ecrire :
Code: Tout sélectionner

RewriteEngine on
Rewritebase /
RewriteRule ^fr index.php?lang=fr  [L]
RewriteRule ^en index.php?lang=en  [L]

C'est moins joli, mais ça devrait marcher, non ?


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: URL Rewriting via .htaccess > incompréhension

Message le Mar Nov 30, 2010 11:26

Ah, j'avais mal compris.

Effectivement, alaincassis est sur la bonne voie.
Code: Tout sélectionner
RewriteEngine on
Rewritebase /
RewriteRule ^(fr|en) index.php?lang=$1 [L,QSA]


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Liste des 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 textes non cliquables 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