Interpretacja zakodowanych znaków w URLu

Odpowiedz Nowy wątek
2011-08-03 10:08
Paulinka
0

Co może być przyczyną faktu, że na moim serwerze (localhost) zakodowane znaki są interpretowane tak jakby nie były zakodowane?

Przykładowo slash ("/"):
http://localhost/%2F

Powoduje wyświetlenie:

Not Found

The requested URL // was not found on this server.

Pozostało 580 znaków

2011-08-03 11:14
0

Generalnie znaki koduje się po to by serwer właśnie tak je odczytał jak napisałaś.


░█░█░█░█░█░█░█░█░█░█░█░

Pozostało 580 znaków

2011-08-03 12:46
Paulinka
0

Dzięki ;)

A co jeśli chciałabym żeby slash był przekazany w parametrze, żebym mogła go później odczytać np.

http://localhost/?parametr=slash%2Fslash

Z powyższego URL-a chciałabym wyciągnąć

$_GET['parametr'] = "slash/slash"

Ale zamiast tego dostaje błąd, taki jak w pierwszym poście.

Pozostało 580 znaków

2011-08-03 14:19
0

u mnie działa dokładnie tak jak byś chciała
jeżeli błąd, który dostajesz nie dotyczy //, to wklej treść
używasz jakiegoś .htaccess'a ?

Pozostało 580 znaków

2011-08-03 14:43
Paulinka
0

Używam mod_rewrite, prostego bez fajerwerków

RewriteRule ^([0-9]+(.*))$ /example.php?=$1

Pozostało 580 znaków

2011-08-03 15:14
0

w takim razie proponuję, żebyś zastosowała podwójne kodowanie:
/
%2F
%252F
tzn. to jest w przypadku, gdy rewrite to przekształca (jak nie kwalifikuje się pod rewrite, to kodowanie jednokrotne), a jakby nie patrzeć %2F ani ?parametr=slash%2Fslash się nie kwalifikuje jako ^([0-9]+(.*))$ ...

PS: czy ta zmienna, do której zapisjesz $1 nie powinna mieć jakiejś nazwy? :)

edytowany 2x, ostatnio: notexists, 2011-08-03 15:18
Nie musi :) - Patryk27 2011-08-03 15:25
a jak się to odczytuje jak zmienna nie ma nazwy? - notexists 2011-08-03 15:36
Było takie coś; jak znajdę to dam linka. - Patryk27 2011-08-03 15:39

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0