WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   mod_rewrite äter mina plustecken (https://www.wn.se/forum/showthread.php?t=31838)

Magnus_A 2008-09-11 15:46

Använder plustecken i GET-variabler som ska omskrivas med mod_rewrite.
Men på vägen försvinner mina plustecken och ersätts med mellanslag.
Hur ska jag göra för att behålla mina plustecken?
Exempelkod:
RewriteRule ^(.*)$ index.php?variabel=$1

Uri:n http://example.com/kom+igen
fyller då GET['variabel'] med 'kom igen'.

Jag vill att GET['variabel'] ska innehålla 'kom+igen'.

Hur ska jag göra?

Edit: Ser att jag glömt att skriva att det inte hjälper med url-encoding och skriva kom%2Bigen.

thorsell 2008-09-11 15:49

Hej!

Det är väl PHP som automatiskt omvandlar GET-värdet (urldecodar det) och inte apache?

Magnus_A 2008-09-11 16:08

Ändrade efter att du skrivit.
Visst byter PHP ut + till ' ' men det hjälper inte att skicka in en URL-encodad sträng. Verkar som om mod_rewrite gör om den till + igen och så kan php ta bort plustecknet.
Finns det något sätt att få PHP att lämna + ifred?

thorsell 2008-09-11 16:42

Kan du inte köra urlencode() på GET['variabel'] för att få det tillbaka till hur det såg ut innan?

Magnus_A 2008-09-11 16:45

Citat:

Originally posted by thorsell@Sep 11 2008, 16:42
Kan du inte köra http://se.php.net/urlencode på GET[variabel] för att få det tillbaka till hur det såg ut innan?


Det skulle nog fungera. Antingen det eller så kör jag med streck (-) istället.
Tack för hjälpen.


Alla tider är GMT +2. Klockan är nu 09:14.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson