RewriteRule , # et %2F

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Wishmaster7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 17 Jan 2008

RewriteRule , # et %2F

Message le Jeu Jan 17, 2008 22:49

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 !

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2678
Inscription: 13 Fév 2004

Re: RewriteRule , # et %2F

Message le Ven Jan 18, 2008 0:45

Wishmaster7 a écrit: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.


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Ven Jan 18, 2008 11:14

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


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3884
Inscription: 16 Nov 2004

Message le Ven Jan 18, 2008 21:46

je sais pas ce qu'il ont tous avec cette ancre. Pourquoi essayer de réécrire des urls qui n'existent qu'en local ^^

Wishmaster7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 17 Jan 2008

Message le Ven Jan 18, 2008 23:08

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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités