Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 10h45   #1
Membre du Club
 
Inscription : août 2009
Messages : 197
Détails du profil
Informations personnelles :
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : août 2009
Messages : 197
Points : 59
Points : 59
Par défaut Enlever proprement un paramètre à une url

Ce que je veux faire : rediriger toutes les urls qui contiennent "param=val" en parmètre vers la même url sans le paramètre "param=val".

Voici ma RewriteCond :
Code :
1
2
RewriteCond %{QUERY_STRING} ^(.*)([&]*)param=val([&]*)(.*)$
Et ma RewriteRule :
Code :
1
2
RewriteRule ^(.*)$ http://monUrl.com$1?%1%2%4 [R,L]
Cela fonctionne très bien à l'exception des urls du type :

Code :
http://monUrl.com/?monparam=val
qui sont redirigées vers :

Note :Cela n'arrive que si j'ai "param=val" en première position dans mes paramètres.

Comment puis - je contourner cela ?
Tristan Zwingelstein est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 13h04   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
A mon avis, faut passer par 2 règles : une qui gère le cas ou param est le premier paramètre de l'URL et une autre qui gère le cas ou param n'est pas le premier paramètre de l'URL. Je ne pense pas qu'on puisse trouver une seule expression régulière qui couvre les deux cas. Peut-être celle-ci mais je ne sais pas comment Apache gère les parenthèses imbriquées :
Code :
1
2
RewriteCond %{QUERY_STRING} ^((.*&)*)param=val(.*)$
RewriteRule ^(.*)$ http://monUrl.com$1?%1%3 [R,L]
Au passage, tu as un problème également si param vaut "valxx".
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h45.


 
 
 
 
Partenaires

Hébergement Web