[PHP] ampersands en mod rewrite

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
Ik wil graag 'readable urls' mbv mod_rewrite

http://jouwnieuws.nl/titl...ers_spraken_af_te_zwijgen

het laatste gedeelte (nieuws_van_vandaag) wordt opgezocht op de titelnaam, dat werkt..
Maar nu!

http://jouwnieuws.nl/title/Fris_&_fruitig

Mijn script krijg het gedeelte na de ampersand niet binnen. Ik heb alles geprobeerd te escapen (URL, HTML entities enz), of juist niet escapen. Ik wil liever geen eigen escape of vervangtruukjes gebruiken.

Mijn rewrite rules:

RewriteEngine on

RewriteRule ^title/(.*)$ search.php?title=$1

Ik kwam met zoiets een aardig eind, maar ik raak toch klem en het lijkt me niet netjes:

RewriteEngine on
RewriteRule ^title/(.*)$ search.php?title=$1
RewriteCond %{REQUEST_URI} ^.*&(.+)$ // als je een & tegenkomt plak het achter de rest
RewriteRule ^(.*)$ $1&%1

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17:49

ripexx

bibs

De ampersant is een speciaal karakter dus je zal in ieder geval er een url encoding overheen moeten halen alvorens je urls gaat maken. :)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
helaas al geprobeerd.

http://jouwnieuws.nl/title/Beeld_%26_Geluid gaat fout
http://jouwnieuws.nl/search.php?title=Beeld_%26_Geluid gaat goed (dit is na de mod rewrite)

Acties:
  • 0 Henk 'm!

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Probeer title eens uit te lezen via argv:
PHP:
1
echo $_SERVER['argv'][0];

dan komt ie er wel goed uit.
Demo:
http://dev.barad-dur.nl/sdl/foo%26bar
uitvoer:
http://dev.barad-dur.nl/s...kend.php?uri=/sdl/foo&bar

Let wel op dat alle links op je pagina wel ge-encode zijn voordat je users erop laat klikken :P

[ Voor 19% gewijzigd door MTWZZ op 15-06-2005 21:16 ]

Nu met Land Rover Series 3 en Defender 90


Acties:
  • 0 Henk 'm!

  • jnr24
  • Registratie: Oktober 2004
  • Laatst online: 27-08 11:48
MTWZZ schreef op woensdag 15 juni 2005 @ 21:15:

echo $_SERVER['argv'][0];
...
Hey top! heel interessant, hij doet dan ook geen magic_quotes zie ik.

Thanks!

Acties:
  • 0 Henk 'm!

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 27-04 11:53
jnr24 schreef op woensdag 15 juni 2005 @ 23:57:
[...]
hij doet dan ook geen magic_quotes zie ik.
Dat klopt, die worden alleen op $_GET, $_POST en $_COOKIE losgelaten (GPC): clique.
Pagina: 1