Caractère d'échapement

Nouveau WRInaute
Bonjour et meilleurs voeux,

voilà ce que je teste :
Code:
RewriteRule ^viewtopic\.php?t=([0-9]+)$ http://www.monsite.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=$1 [L]

D'après ce que j'ai vu il faut utiliser le caractère d'échapement pour ".". Pour le "?" et le "=" je ne sais mais j'ai donc essayé les différentes possibilités sans être redirigé alors que cela fonctionne si j'utilise une règle "basique".

Je suppose donc que ma syntaxe n'est pas correcte. Si quelqu'un voit mon erreur...

Merci ;)
 
WRInaute impliqué
Bonjour,

Dans tout regex qui se respecte, il faut "échapper" les caractères suivants:

^ . [ $ ( ) | * + ? { \
 
Nouveau WRInaute
donc a priori, ceci devrait fonctionner ? :

Code:
RewriteRule ^viewtopic\.php\?t=([0-9]+)$ http://www.net-telecom.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=$1 [L]

Mais c'est pas le cas :(
 
WRInaute occasionnel
La chaîne de caractères analysée est l'URL, sans les paramètres. Dans l'exemple, le RewriteRule porte sur viewtopic.php, pas viewtopic.php?t=...

Pour faire ce que tu veux, il faudrait quelque chose comme
Code:
RewriteCond   %{REQUEST_URI} viewtopic\.php$ 
RewriteRule   ^.+$      %{QUERY_STRING}          [C] 
RewriteRule   t=([0-9]+) http://www.net-telecom.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=$1 [L]
Ligne 1, on teste si on est bien appelé par viewtopic.php, ligne 2 on remplace l'URL par les paramètres pour pouvoir travailler dessus, ligne 3 on cherche une correspondance et on redirige.
 

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