RewriteRule , # et %2F

Nouveau WRInaute
Bonjour,

je début dans les ré-écritures d'URL et j'ai deux petits soucis. voici une première règle :

RewriteRule (?i)^news/([0-9]+)(/.*)?$ /news.php?id=$1\#$1

pour ré-écrire un url du genre "/news/123/Bonjour.htm" en "/news.php?id=123#123"

mais le problème est que le dièse est considéré comme délimiteur de commentaire, et le $1 de fin de ligne n'est pas pris en compte. comment faire ? dans les tutoriels je vois indiqué qu'il faut escaper le #, je mets donc \# mais ça ne change rien, est-ce peut-être du à une erreur de configuration en amont?

avec la même règle, si le texte qui suit contient "%2F" , elle ne marche pas. exemple : "/news/123/Bonjour%2FAurevoir.htm" (%2F étant le urlencode de "/" ). comment se fait-il ? l'URL "/news/123/Bonjour/Aurevoir.htm" est parfaitement matchée par la règle, cependant...

à bientot !
 
WRInaute accro
Wishmaster7 a dit:
RewriteRule (?i)^news/([0-9]+)(/.*)?$ /news.php?id=$1\#$1

pour ré-écrire un url du genre "/news/123/Bonjour.htm" en "/news.php?id=123#123"

Si tu ne fais pas un redirect ça ne sert à rien: le # est interprété par le navigateur, pas le serveur, et un rewrite sans redirect c'est purement interne au serveur (i.e. le navigateur ne verra jamais la nouvelle URL).

Jacques.
 
WRInaute passionné
le # est une information destinée au client qui n'est pas envoyé au serveur. Pour être positionné à un endroit précis, il faut appeler l'url avec l'ancre :
/news/123/Bonjour.htm#123
 
WRInaute accro
je sais pas ce qu'il ont tous avec cette ancre. Pourquoi essayer de réécrire des urls qui n'existent qu'en local ^^
 
Nouveau WRInaute
merci pour votre aide, à présent j'ai compris où était mon erreur et j'ai pu corriger ça !

pour le %2F je ne sais pas ce que c'est, mais avec un str_replace je m'en sort alors c'est pas bien grave :o
 

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