pb avce mes rewrites

Nouveau WRInaute
bonjour !

Voila j aimerais traduire ca :
http://www.mysite.com/fr/.../page.html?var1=1&var2=2 => http://www.mysite.com/.../page.php?lang ... 1=1&var2=2

Vous avez surement remarqué que lang=fr se transforme en un repertoire virtuel http....com/fr/

j ai fait ca :
Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule  ^([fr|en]+)/(.*).html?(.*)$    $2.php?lang=$1&$3 [L]

Et evidement si je post c est que ca marche pas tres tres bien :(
qd je tape :
http://www.mysite.com/.../index.php?lan ... 1=1&var2=2
ca marche bien mais pas ca :
http://www.mysite.com/fr/.../index.php?var1=1&var2=2

enfaite la page se chage bien mais [var1=1&var2=2] etant dans l url n est pas reconnu sur un echo $_GET["var1 ou 2"];

et en plus de ca ... les appels de http://www.mysite.com/fr/(sans le index.html) me renvoi une erreur 404 ... je suis comme qui dirait completment pommé avec les rewrite :/

Merci pour votre aide !
See you :)
 
WRInaute occasionnel
ça devrait mieux fonctionner avec l'option QSA qui s'occupe de gérer les variables à ta place ainsi :

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteRule  ^([fr|en]+)/(.*).html$    $2.php?lang=$1 [L,QSA]

Ca devrait fonctionner sans souci.
 
Nouveau WRInaute
super merci ca marche bien now :)

Je pige pas pkoi il faut mettre [QSA,L]
j ai regarer la definition et j ai pas compris mais bon je debute alors j espere que ca va venir :p

Sinon pkoi qd j appel "http://www.mysite.com/fr/" ca me renvoi une erreur 404 ?
et qd j appel "http://www.mysite.com/fr/rep1/" ca me marque ds l url "http://www.mysite.com/rep1/?lang=fr"

Remerci pour votre aide :)
see you :D
 
Nouveau WRInaute
enfaite j ai l impression que ma RewriteRule est un peu trop generaliste non ?

Ne faudrait il page que je detail chaque page ?
si oui il vaut mieux le faire ds le mm fichier sur le root ou mettre un .htaccess ds chaque repertoires ?

Merci encore et encore ^^
 
WRInaute passionné
boobha a dit:
enfaite j ai l impression que ma RewriteRule est un peu trop generaliste non ?

Ne faudrait il page que je detail chaque page ?
si oui il vaut mieux le faire ds le mm fichier sur le root ou mettre un .htaccess ds chaque repertoires ?

Merci encore et encore ^^

Pourquoi se compliquer ?
Il va tres bien comme ceci.
Je ne te conseil pas de faire plusieur htaccess.
Un seul suffit. :wink:
 
Nouveau WRInaute
Oki merci !

Code:
RewriteRule  ^([fr|en]+)/(.*).html$    $2.php?lang=$1 [L,QSA]
RewriteRule  ^([fr|en]+)/(.*)$    $2?lang=$1 [L,QSA]

j ai mis comme ca ! apperement lordre est important et la les "http://wwwmysite.com/.../" marche ...
et si je veux avoir quelque page specifique il me suffit de rajouter une regle au dessus de c 2 la.
exemple :
Code:
RewriteRule  ^([fr|en]+)/rep/index-([0-9]+)-([0-9]+)-([0-9]+).html$    /rep/index.php?lang=$1&a=$2&b=$3&c=$4 [L,QSA]
voila ce que j ai conclu, c est ptete faux ^^
Corrige moi dans ce cas :p

Merci :)
See you :D
 
WRInaute occasionnel
Attentuin,
([fr|en]+)
ne fais pas exactement ce que tu crois, tu veux plutot :
(fr|en)
ce dernier match fr OU en. L'autre, ça pourrait matcher ff ou nn, et probablement nerf aussi
 

➡️ 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
Haut