Apache – Mettre en place des RewriteRules comprenant des paramètres
Si vous souhaitez mettre en place des RewriteRules contenant des paramètres, il vous faudra passer des RewriteCond ou par le drapeau QSA. En effet, une URI...
Si vous souhaitez mettre en place des RewriteRules contenant des paramètres, il vous faudra passer des RewriteCond ou par le drapeau QSA. En effet, une URI...
Eklaireur est une application d’avertissement des événements routiers en temps réel pour iPhone. Entendez par événements routiers, travaux, accidents,...
Snowbreeze c’est le nom du logiciel windows qui vous permettra de jailbreaker facilement votre iPhone. D’après l’éditeur, iH8sn0w (qui...
En effet, si vous êtes possesseur d’une freebox version 4 ou 5, vous pouvez accéder à votre page facebook à travers votre téléviseur. L’interface est...
Vendredi dernier (2 octobre 2009), Free s’est payé Bercy pour fêter son dixième anniversaire. La soirée rassemblait abonnés, journalistes et...
Le site du Mouvement Réformateur MR.be hacké ce dimanche 4 octobre 2009 !
8 fonds d'écran pour Ubuntu : jolis, pleins de couleur, pour accompagner le futur Ubuntu Kamic Koala... ou autre...
Comme chaque semaine, je vous propose ce nouvel épisode de plein écran. Au sommaire, un résumé des salons du jeux vidéos de Paris et Tokyo, de quoi vous...
Alors que The Pirate Bay était supprimé des indexs Google vendredi soir, il semble être revenu. Google s’explique sur ce va et vient : La raison du...
Vous avez un site ou un blog ? Vous attendez avec impatience la sortie officielle d’Ubuntu 9.10 Karmic Koala ? Alors insérez une des bannières...
Si vous souhaitez mettre en place des RewriteRules contenant des paramètres, il vous faudra passer des RewriteCond ou par le drapeau QSA. En effet, une URI pour Apache s´arrête...
Si vous souhaitez mettre en place des RewriteRules contenant des paramètres, il vous faudra passer des RewriteCond ou par le drapeau QSA.
En effet, une URI pour Apache s´arrête après l´extension de fichier. Le ? détermine la fin de celle-ci, et le début de ce qu´on appelle la Query String, chaine de variables.
Le mod_rewrite ne permet pas de modifier cela depuis une rewriteRule. Mais on peux y accéder par deux moyens :
Dans la pratique cela donne :
On veut rediriger test.php ?p=ok&n=0 sur test-tout-va-bien.html et test.php ?p=ok&n=1 vers test-tout-est-revenu.html
Nous allons donc tester la valeur de n pour savoir sur quelle page redirigée :
[bash]
RewriteCond %{QUERY_STRING} n=0
RewriteRule ^/test\.php /test-tout-va-bien.html [R=301, L]
RewriteCond %{QUERY_STRING} n=1
RewriteRule ^/test\.php /test-tout-est-revenu.html [R=301, L]
[/bash]
Cependant cette technique n’est pas parfaite car en vrai elle redirigera avec les paramètres. Cela donnera dans notre exemple :
test.php ?p=ok&n=0 sur test-tout-va-bien.html ?p=ok&n=0 et test.php ?p=ok&n=1 vers test-tout-est-revenu.html ?p=ok&n=1
Pour ma part je trouve ce fonctionnement un peu lourd et hasardeux… Je n’ai pas réussi à simplement échapper le caractère « ? ». De plus, les paramètres suivent la requête… Je suis donc preneur d’une meilleure solution.
Abonnez-vous pour recevoir notre sélection des meilleurs articles directement dans votre boîte mail.
Nous ne partagerons pas votre adresse e-mail.