Remplacer le caractère "?"

Nouveau WRInaute
Bonjour,

Je ne parviens pas a remplacer le caractère "?" par autre chose.

J'ai beau tenter
RewriteRule (.+)?(.+) $1-$2 [NC]
ou
RewriteRule (.+)\?(.+) $1-$2 [NC]

en expression régulière, elle n'est jamais prise en compte
(avec ou sans le flag no-case)

Le serveur interpréte toujours : caratère précédent optionnel.

Connaissez-vous une astuce pour détecter le point d'interrogation ?
 
WRInaute impliqué
Et tu es sûr que tu ne prends pas le problème à l'envers, parce que en général on cherche plutôt à transformer une url avec trait d'union en url avec ? ... :wink:
 
Nouveau WRInaute
Oui, en prenant pour principe que le ? represente le séparateur de query_string.

L'idée serait d'utiliser de rewriting pour la navigation dans les pages, mais de garder les "options" de sélection par requetes ... L'avantage reside dans la capacité à ne pas laisser indexer ces requetes par des robots. tout en gardant la fluidité du rewriting.

J'avais en effet pensé à lire le QUERY_STRING mais cette valeur est modifiée par apache avant d'atteindre ma page php

Le mode rewrite sait-il identifié le query_string ? Si c'est le cas, cela serait évidemment une solution simple pour moi.
 

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