Vlastní error 404

Štítky: 

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 5 let, 11 měsíců.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #20599

    Sniper24
    Participant

    Dobrý den,
    vytvořil jsem si ve WP klasickou stránku (/stranka-nenalezena) a chtěl bych ji použít jako error 404
    Můj soubor .htaccess vypadá následovně (implicitní WP):

    # BEGIN WordPress 
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L] </IfModule>
    # END WordPress

    příkaz vložený do souboru .htaccess (v případ názvu stránky stranka-nenalezena) by měl vypadat takto?:
    ErrorDocument 404 stranka-nenalezena
    nebo
    ErrorDocument 404 /stranka-nenalezena
    nebo
    ErrorDocument 404 www/stranka-nenalezena
    nebo jakýkoliv výše napsaný příklad s příponou .html
    protože ani jedna možnost mi stále nefunguje a zobrazuje se stále původní error 404, a to i v případě že souboru stranka-nenalezena.html nahraji do kořenového adresáře (/www).
    Další otázka kam tento příkaz umístit ve výše uvedeném obsahu souboru .htaccess? Často mi vyskakuje chybové hlášení Chyba 500 – Internal Server Error.
    Napadá mě ještě další dotaz: může mít na toto vliv použitá šablona? (v mém případě Atahualpa).
    Děkuji mockrát za případné reakce.
    S pozdravem
    Sniper24

    #20606

    sjiamnocna
    Participant
    Web

    Ahoj, co se mi u 404 osvědčilo, vytvořit přímo v šabloně soubor 404.php a do htaccess:
    ErrorDocument 404 neexistujicistranka/
    čímž se 404 přesměruje přímo do wordpressu a můžete využívat výhod php a wordpressu.

    Myslím zadání souboru v htaccess je relativní od adresáře ve kterém je umístěn. Jestli je to s / nebo bez, to jsem vždycky řešil metodou pokus-omyl, ale když jde o linux, / na zaçátku by mělo znamenat /root a to není asi to pravé.

    Tím, že přenecháte úkol WP, zbavíte se snad i problému 500

    #20609

    Sniper24
    Participant

    Ahoj díky za podnět!
    Nakonec jsem tedy soubor htaccess vůbec neřešil a vytvořil pouze ve složce šablony soubor 404.php s obsahem následujícím:

    <meta http-equiv="refresh" content="1;url= http://www.mojedomena.cz/stranka-nenalezena">

    tímto jsem jednoduše přesměroval 404 na mnou vytvořenou vlastní chybovku a toto je tedy je veškerá práce :))

    #20610

    sjiamnocna
    Participant
    Web

    No nechci rýpat :) , ale nebylo by jednodušší kód chybovky dát do 404.php? Kdyby ne, byste mohl použít přesměrování z PHP hlavičkou

    header('Location:http://mojechybovka.cz/');

    což mi přijde trochu spolehlivější

    #20660

    admin
    Keymaster
    Web

    Souhlasím se sjiamnocna a děkuji za rychlou odpověď! Soubor 404.php je podle mě ideálním způsobem pro vytvoření vlastní chybové stránky a vlastně ani nemusíte nic nikam přesměrovávat a všechno může být přímo v tomto souboru. Doplním ještě odkaz na kompletní manuál.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.