Envoyé par
cobra-expert
j'ai toujours pas compris se que veule dire les options QSA
Lire la doc Apache, ça te dit ? Je sais bien qu'elle est en anglais mais quand même :
'qsappend|QSA' (query string append)
This flag forces the rewriting engine to append a query string part in the substitution string to the existing one instead of replacing it. Use this when you want to add more data to the query string via a rewrite rule.
C'est pour faire exactement ce que tu fais : dans tes règles, tu rajoutes le paramètre lang=en ou lang=fr aux paramètres d'URL déjà existant.
Maintenant, quand on regarde de plus près ce que tu fais :
RewriteRule ^english\.html$ index.php?lang=en& [QSA,L]
ton QSA ne sert absolument à rien vu que la règle ne s'applique quà la seule URL http://monsite/english.html : si tu ajoutes des paramètres à cette URL, la règle ne s'applique pas.
Sinon, pour revenir au problème initial (marche pas avec IE7), les 2 règles que tu donnes ne me semblent pas être en cause pour la simple et bonne raison qu'elles n'opèrent pas de redirection client. Je te propose 2 choses : 1 question et un test :
1. Question : quand tu dis "C'est pas un formulaire, c'est le site entier..." tu veux dire qu'il n'y a pas une seule page de ton site qui s'affiche ou il y a quand même quelques pages qui s'affichent ?
2. Test : dans IE7, accède une page qui ne s'affiche pas correctement, clic droit > Voir la source... et regarde si malgré tout c'est bien la page que tu attends ou si c'est "vide". Si c'est bien la page que tu attends, c'est un pb de HTML. Sinon, faut encore creuser.
Partager