Zadejte hledaný výraz...

PHP – Vyvolání chyby 404, aby se presmerovalo na chybovku dle htaccessu

Mallcumek
verified
rating uzivatele
(1 hodnocení)
8. 1. 2017 09:29:51
Ahoj,
Prosil bych o pomoc.
Mám v
htaccessu nastaveno ErrorDocument 404 /404.html
a kdyz zadám nesmyslnout adresu, tak mi to funguje, hezky hned přesměruje na tu chybovku.
Ale když mám jinou stránku, kde chci přesměrovat na 404
inzerat.php:
header($_SERVER . ' 404 Not Found'); //nic se neděje
header($_SERVER." 404 Not Found", true, 404); //nic se něděje
header('Status: 404 Not Found'); // nic se nědeje
Nevíte prosím jak napsat hlavičku aby mi to naběhlo na 404ku ?
Pokud napíšu
header($_SERVER . ' 404 Not Found');
require_once("404.html");
die;
Tak mi to funguje, ale myslel jsem, že to má pochopit podle nastavení v htaccesu a ne že mu to budu strkat require_once
Děkuju moc za radu. Hosting u wedosu php 5.4.45 :-(
8. 1. 2017 09:29:51
https://webtrh.cz/diskuse/php-vyvolani-chyby-404-aby-se-presmerovalo-na-chybovku-dle-htaccessu#reply1248516
Steeta
verified
rating uzivatele
(3 hodnocení)
8. 1. 2017 09:40:44
ono záleží, kam ten header() strkáš. Musí být před výstupem jakéhokoli textu. Máš ho?
8. 1. 2017 09:40:44
https://webtrh.cz/diskuse/php-vyvolani-chyby-404-aby-se-presmerovalo-na-chybovku-dle-htaccessu#reply1248515
Pavel Janků
verified
rating uzivatele
(93 hodnocení)
8. 1. 2017 09:50:42
Header ti sám o sobě neudělá 404 stránku. Pouze pošle hlavičku, že je stavový kód 404, ale musíš tomu podstrčit odpovídající obsah. Jen podotknu, že bys měl hlavičku dát před jakýkoliv výstup obsahu.
8. 1. 2017 09:50:42
https://webtrh.cz/diskuse/php-vyvolani-chyby-404-aby-se-presmerovalo-na-chybovku-dle-htaccessu#reply1248514
Mallcumek
verified
rating uzivatele
(1 hodnocení)
8. 1. 2017 10:05:26
Ahoj děkuju za odpovědi, ano mám to uplně nahoře (při tomto testování). Následně to chci dát za podmínku, kde zjistím z databáze smazanej inzerát.
Právě jsem si myslel, že ten obsah je hotová stránka 404.html a v htaccessu nastaveno ErrorDocument 404 /404.html .
No jde mi o to aby to bylo správně pro google, prý se má smazaný obsah dát na 404 s nějakým rozcestníkem.
8. 1. 2017 10:05:26
https://webtrh.cz/diskuse/php-vyvolani-chyby-404-aby-se-presmerovalo-na-chybovku-dle-htaccessu#reply1248513
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 1. 2017 12:15:53
to ale tak nefunguje, htaccess se vyhodnocuje webovým serverem apache, což dříve než se spustí php a ta jeho directiva pro ErrorDocument je jen pro neexistující soubory na disku. K tomu také záleží v jakém pořadí a v jakém místě to máš v htaccess, musí být před všemi pravidly, jinak se opět nepoužije.
Htaccess ti pouze zajišťuje správné zvolení php souboru ke spuštění (či vrácení statického souboru), pokud nic takového nenajde, vrací tu 404 z ErrorDocument, pokud najde, buď vrátí statický soubor nebo spustí php a už je v jeho direkci, aby vracelo http hlavičky.
Nic osobního, ale na podobných dotazech mi vadí jedna věc, autor je líný si nastudovat jak fungují všci, které používá, přitom stačí si za 500 koupit česky psanou knížku a věnovat jeden víkend jejím přečtení, posléze ušetří hodiny a hodiny času při řešení podobných dotazů a problémů
8. 1. 2017 12:15:53
https://webtrh.cz/diskuse/php-vyvolani-chyby-404-aby-se-presmerovalo-na-chybovku-dle-htaccessu#reply1248512
Pro odpověď se přihlašte.
Přihlásit