Nezlobte se za ten p?iblble napsan? nadpis, ale vůbec m? nenapadlo, jak to napsat.
Chci si vytvo?it vlastn? error 404 - nenalezen, ale nev?m, jak zjistit adresu, kv?li kter? se tato chybov? str?nka zobraz? (cht?l bych, aby se ukl?dal n?jak? log soubor s d?vody zobrazen? t?to chyby, proto to pot?ebuju).
Jak zjistit adresu str?nky, z n?? vze?el po?adavek, kv?li kter?mu se str?nka s chybou zobrazila, v?m: $_SERVER["HTTP_REFERER"];
Ale jak zjistit odkaz, na kter? bylo kliknuto?
Hlavn? m? neodkazujte na PHP manu?l! M?m nejnov?j?? verzi (stahoval jsem jej p?ede dv?ma dny) a kdy? kliknu na n?jak? odkaz $_SERVER, tak se mi zobraz? str?nka s t?mto textem "P??loha U. Co zde chyb?" a to je v?echno.
D?ky
Fórum › PHP
Zjištění požadované adresy v error dokumentu 404
Ten manual je na nekolika mistech i na netu ;)
neslo by na to $_SERVER["PHP_SELF"]?
Nezkou?el jsem to, ale pokud v?m, tak to je atu?ln? adresa (co? je v tomhle p??pad? adresa error dokumentu), jen?e j? pot?ebuju adresu odkazu, na kter? bylo kliknuto.
Nav?c, tohle vyp??e pouze adresu aktu?ln?ho souboru bez prom?nn?ch p?ed?van?ch v url. Nap??klad budu na str?nce index.php?file=login&action=1, tak v $_SERVER["PHP_SELF"] bude ulo?eno pouze index.php. Jen?e j? m?m web sest?vaj?c? z jedin?ho souboru index.php a obsah str?nek je vkl?d?n pomoc? include(), podle hodnoty prom?nn? $file p?ed?van? v URL.
M??e? mi napsat n?jak? odkazy, kde bych na?el n?jak? schopn? manu?l (pokud mo?no v ?e?tin?)?
Zkou?el jsem ?esk? online manu?l na php.net a tam je to sam? "P??loha T. Co zde chyb?".
V anglick?m manu?lu je toho sice v?c (p?ed chv?l? jsem ho stahoval), ale kdy? ta angli?tina... ?:ehh:?
Tak $_SERVER["REQUEST_URI"] mi vypíše pouze složku, ve které se nachází - ale zase jen ten error dokument.
Ach jo, co já si to vzal do hlavy?!!
Samozřejmě že vlastní stránku 404 mám. Jenže HTTP_REFERER vrací adresu stránky ze které vzešel požadavek a né adresu odkazu, na které bylo kliknuto!
Schválně klikni odsud na tenhle odkaz: http://www.marextafl.cz/nejaka_stranka.php
Nejaka_stranka.php neexistuje, tak budeš přesměrován na 404.
A dole, tam kde je napsáno, co obsahuje zpráva s chybovým hlášením, na řádku "Stránka z níž vzešel požadavek:" bude URL tohohle fóra - to je výsledek HTTP_REFERER.
Jenže já chci vědět, adresu odkazu, na který bylo kliknuto - v tomhle případě tedy: http://www.marextafl.cz/nejaka_stranka.php
Chápeš?
Zkoušel jsem QUERY_REQUEST, jenže to nefunguje při přesměrování.
Pardon, QUERY_STRING
A nešlo by to třeba nějak vyřešit přes .htaccess?
Teraz som to skusal. Ak je v Apache nastaveny "ErrorDocument 404 /file.xyz", tak nevidim dovod preco by nemalo ist cez REQUEST_URI. Pretoze REQUEST_URI odovzdava nazov suboru na ktory bolo kliknute.
Jenže já se přece na webhostingu do nastavení Apache nedostanu, nebo snad jo?
Můžu si editovat .htaccess, měnit některá nastavení PHP, ale nastavení Apache...?
To přesměrování na error 404 mám přes .htaccess.
Tak te? jsem to zkou?el snad na v?echny mo?n? způsoby, proto?e mi to nedalo a zjistil jsem toto:
REQUEST_URI funguje pouze v p??pad?, pokud m?m cestu k error dokumentu v .htaccess zadanou jako relativn?. Pokud je zad?na absolutn? (nap?. http://chyba.server.cz/index.php), tak vrac? adresu error dokumentu.
To je tedy dost trapn?, proto?e pokud m?m v?c subdom?n a v ka?d? subdom?n? je?t? n?jak? slo?ky (t?eba chat.server.cz/hlavni/), mus?m v ka?d? slo?ce vytvo?it stejn? error dokument.
Aspo? ?e u? v?m jak na to.
D?ky moc v?em
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Zjištění IP adresy — založil dragon124
Zjištění adresy — založil tonez
Zjištění IP adresy pomocí portu — založil RadekL
Zjištění IP adresy počítačů připojených do lokální sítě — založil Honza Bažant
Moderátoři diskuze