Jak opravit chybu – 500 Internal Server Error

Ve většině případů, když se objeví chyba 500 Internal Server Error, tak je to po nějakém vašem zásahu. Na 99 % za to může zásah do souboru .htaccess, který slouží k decentralizované zprávě konfigurace web serveru. Ovlivňuje chování nejen v adresáři, kde se nachází, ale i ve všech podadresářích. Jakýkoliv zásah do něj, tak vede právě k této chybě. Chybová hláška může být různá, protože každý správce serveru si jí může dle libosti upravit.

Došlo k zásahu do skriptů o kterém víte #

Tohle se občas stává při aktualizaci redakčních systémů, anebo spuštění nového rozšíření. Nejčastěji do dělají pluginy na cachování obsahu, úpravu vizuálně příjemnějších URL a bezpečnostní rozšíření. Pokud se tento problém vyskytne následkem takovéto činnosti, tak je řešení naštěstí poměrně jednoduché.

Opravte .htaccess #

Připojte se k vašemu webhostingovému účtu přes FTP, najděte modifikovaný .htaccess a přejmenujte jej třeba na .htacces2. Následně hlavní stránku obnovte. Pokud vše funguje jak má, je třeba opravit .htaccess do původní podoby před chybou.

Vygenerování nového ve WordPress #

U WordPress je to poměrně jednoduché. Stačí kliknout na Nastavení – Trvalé odkazy a vybrat vhodnou variantu. Po zmáčknutí tlačítka Uložit změny dojde k vytvoření nového fungujícího souboru .htaccess. Je vhodné před tímto zásahem vypnout všechny pluginy.

.htaccess není vidět #

Některé servery mají soubor .htaccess jako skrytý. Váš FTP klient tak musí umět skryté soubory vidět. Například v Total Commander stačí jednoduchá úprava nastavení. Klikněte na Konfigurace, vyberte Možnosti. V nově otevřeném okně klikněte na Zobrazení a zaškrtněte Zobrazovat skryté a systémové soubory.

total-commander-zobrazeni-skrytych-souboru

Znovu se přihlaste přes FTP k vašemu webhostingu a soubor .htaccess byste měli vidět.

K zásahu do skriptu nedošlo #

Občas se stane, že se začne chyba 500 internal server error zobrazovat i bez vašeho přičinění. Nestává se to moc často, ale může za tím být podobný problém.

Chyba se zobrazuje jen občas #

Některé servery tuto chybu zobrazují pokud jim došla paměť. Jedná se spíše o výjimečnou záležitost, která potrápí majitele VPS. Běžně nakonfigurované servery, totiž používají jako výstup chybu PHP – Fatal error: Allowed memory size of … . Řešením je navýšení paměti v php.ini anebo přímo v PHP skriptu. Někteří programátoři to provádí prostřednictvím souboru .htaccess příkazem – php_value memory_limit xxM. Právě tohle může stát za chybou.

Za chybu 500 se mohou maskovat i ostatní chyby 5XX. Třeba 503 anebo ve velmi vzácných případech 504. To už je ale spíše pro nastudování error logu.

Chyba se zobrazuje permanentně #

Zde je dobré si zkontrolovat zdali nedošlo k nějaké aktualizaci skriptů na pozadí. Zkuste se připojit k FTP a zjistit poslední datum a čas úpravy souboru .htaccess. Pokud se s ním nemanipulovalo za chybou může být server a zde pokud nejste jeho správcem nenaděláte. Samozřejmě můžete vyzkoušet postup s přejmenováním souborů .htaccess ať máte jistotu. V každém případě byste měli kontaktovat zákaznickou podporu.