Přesměrování na 404 z PHP skriptu
6 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Chtěl bych vědět, jak lze odněkud z PHP skriptu přesměrovat uživatele na chybovou stránku 404. Nevím z jakého důvodu, ale tyhle dvě metody z dokumentace PHP mi nefungují: header("Status: 404 Not Found"); header("HTTP/1.0 404 Not Found"); Přitom funkce header() jinak funguje normálně a nemám s ní potíže. Kde je tedy chyba? Lze to případně přesměrovat i jinak? Díky za odpovědi.
-
Hm, tak podle me by melo fungovat to co pises : header("HTTP/1.0 404 Not Found"); ... jestli to nefunguje tak cucham nekde podraz ;) ... ale urcite to muzes obejit (napadly me 2 cesty: 1)das header("Location: http://example.com/error404.php"); (proste to primo poslel na error page) 2)posles to na soubor ktery 100% neni na serveru :) header("Location: http://example.com/pItOmY_SoUbOr_KTeRy_Na.SeRvErU"); (to druhe je celkem prasarna, ale pokud nevis url error page (nebo se meni url) tak je to asi nejjednoussi :) ) )
-
V .htaccess mám nastavenou vlastní stránku s logováním chyb do databáze a chci danou chybu zalogovat, tzn. ty alternativní způsoby nefungují. Ještě bych doplnil, že pokud na stejné místo zadám např. přesměrování s Location: na hlavní stránku, tak vše funguje. Ale pokud zadám header("HTTP/1.0 404 Not Found"); zobrazí se mi jen čistě bílá stránka a nic se nepřesměruje na moji chybovou stránku. Vytvořil jsem si zkušební skript zkouska.php, do kterého jsem vložil jen: <?php header("HTTP/1.0 404 Not Found"); ?> Ale po spuštění skriptu se stejně nic nepřesměruje a stránka zůstane bílá. Odzkoušel jsem to i když jsem vypl nastavení vlastní chybové stránky v .htaccess.
-
protoze header nikam nic nepresmerovava. ta funkce jenom nastavi hlavicku a konec. tak to ma fungovat. ta hlavicka jenom rekne prohlizeci, ze nastala chyba 404 a konec. na presmerovani slouzi hlavicka location. cili bud to pomoci location presmerujes, nebo posles 404 hlavicku a pak vypises normalne jakoukoliv stranku - i treba includem
-
Aha, díky za vysvětlení.
-
co takhle zaslat chybový kód na stránku, na kterou přesměruješ? header("Location: ./404.php", 404);