Interpretacja zakodowanych znaków w URLu

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.
0

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

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.

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 ?

0

Używam mod_rewrite, prostego bez fajerwerków

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

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? :)

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