Gatsie (en andere, niet te herhalen, woorden) heb ik wel gehoord van mijn klanten bij deze fout die ze krijgen als ze hun website willen openen.
Het web kan een frustrerende plaats zijn als het niet werkt zoals jij wilt.
Dat komt helemaal omdat er geen pasklaar antwoord is op deze vraag, omdat de oorzaak van de fout van server tot server kan verschillen. Enkele veelvoorkomende oorzaken van de fout zijn onjuiste bestandsrechten, een beschadigd .htaccess-bestand of een PHP-geheugenlimietfout. Om de fout op te lossen, kun je de foutenlogboeken van jouw server controleren voor meer informatie over de oorzaak van de 500 error. Daarmee kun je dan de eerste stappen gaan zetten om deze fout op te lossen.
De meeste ondernemers zie ik echter al met de ogen rollen. Hoezo moet jij je daar mee bezig houden dan? Je hebt je eigen ding te doen. Groot gelijk. En bij deze fout zou ik dan ook snel naar je hostingprovider toestappen. ‘Beste hostingprovider, kunnen jullie deze fout oplossen?’
Maar als de fout echt in de website zit, dan kan de hostingprovider er niet zo veel mee. Natuurlijk kun je dan contact opnemen met de WP Dokter. Je kunt ook verder lezen voor meer informatie over het herstellen van deze fout.
Hoe kun je de oorzaak van 500 interne serverfouten ontdekken?
De eerste stap bij het oplossen van een internal server error 500 is het identificeren van de oorzaak van de fout. Dus log in op je hostingpanel en zoek naar de php error log. Waar die te vinden is, verschilt per hostingprovider. Maar vaak kun je hem vinden onder ‘file manager’ en dan de map ‘logs’. Hier kun je vaak de oorzaak van de fout achterhalen.
Je kunt ook zelf een log laten aanmaken. Dan log je alsnog in bij je hostingprovider om bij de mappen en bestanden van je WordPress website te komen. Hier zoek je naar het bestand wp-config.php. Daar kun je een stukje code toevoegen om WordPress een error log te laten maken. Voeg dan de volgende code toe voor de tekst: /* That’s all, stop editing! Happy blogging. */
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); |
Sla het bestand op en ga naar je website. Refresh de pagina. Hiermee wordt de fout gelogd in de errorlog die nu wordt aangemaakt. Zoek de errorlog in de ‘filemanager’ in de map /wp-content. Open de errorlog en kijk welke aanwijzingen je kunt vinden voor het probleem.
Enkele veelvoorkomende oorzaken van 500 interne serverfouten zijn:
- Onjuiste bestandsrechten
- Een beschadigd .htaccess-bestand
- Een PHP-geheugenlimietfout
Zodra je de oorzaak weet kun je de error gaan fixen.
Hoe repareer je een internal server error
Hoe kun je de rechten van je bestanden aanpassen
Voor het juist instellen van de bestandsrechten log je ook weer in op het dashboard bij de hostingprovider. Ga naar de mappen van je website. Selecteer de map /wp-content. Je kunt nu via het menu of met de rechtermuisknop vinkjes zetten bij de juiste rechten. De juiste rechten voor deze map moeten op ‘755’ staan. Als je geen getallen ziet, zet dan een vinkje bij ‘eigenaar’ onder lezen, schrijven en uitvoeren. Voor ‘groep’ en ‘overigen’ zet je het vinkje alleen op lezen en uitvoeren.
Zet ook een vinkje bij ‘rechten recursief wijzigen’, dan zorg je er voor dat alle onderliggende mappen ook de juiste rechten krijgen.
Het kan ook zijn dat de .htaccess of het wp-config.php bestand verkeerde rechten heeft gekregen. Deze bestanden vind je direct onder de map van je website. Geef deze bestanden de rechten ‘644’ mee. Of vink voor ‘eigenaar’ lezen en schrijven aan en voor ‘groep’ en ‘overigen’ alleen lezen.
Check hierna of je website weer werkt. Als dat niet zo is, dan is er misschien nog wat met het .htaccess bestand aan de hand.
Een beschadigd .htaccess-bestand repareren
Een .htaccess-bestand is een configuratiebestand dat wordt gebruikt door de serversoftware. Wanneer het in een map wordt geplaatst, heeft dit invloed op de serverconfiguratie voor die map en zijn submappen. Je vind dit bestand direct onder de map van je website in de ‘filemanager’. Als je dit bestand wilt wijzigen, maak dan eerst een backup door het bestand te kopieren.
Om te checken of dit bestand het probleem veroorzaakt, kun je dan de inhoud vervangen door de originele code die in de .htaccess van WordPress staat. Dat is deze code:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
Sla hierna het bestand op en refresh je website. Als die het weer doet, zit het probleem dus in de toegevoegde code die je nu net hebt verwijderd. Die code kan er in geplaatst zijn door een plugin en er kan ook nog code in staan die een webbouwer of developer er in heeft gezet. Vaak staat er wel een opmerking bij (met een ‘#’ er voor) waar het stukje code voor dient of vandaan komt.
Als het dan code is van een bepaalde plugin, kun je die plugin opnieuw installeren en de instellingen nalopen waardoor die plugin de .htaccess opnieuw kan aanpassen met de juiste code. Nu hopelijk zonder fouten.
De PHP-geheugenlimiet verhogen
Soms treedt de internal server error op als er niet genoeg geheugen beschikbaar is. Je kunt dit geheugen verhogen door het wp-config.php bestand te wijzigen. Je vind dit bestand weer onder ‘filemanager’, direct onder de map van je website. Maak ook hier weer eerst een kopie van het bestand voordat je wijzigingen aanbrengt. Zoek naar de regel:
define('WP_MEMORY_LIMIT', '32M');
Pas ’32M’ aan naar ‘128M’.
Als die regel er niet in staat, kun je die zelf toevoegen boven de regel /* That’s all, stop editing! Happy blogging. */. Dat komt er dan zo uit te zien:
define('WP_MEMORY_LIMIT', '128M');
Je kunt ook je .htaccess bestand aanpassen om de limiet te verhogen. Dit bestand staat in dezelfde map als het wp-config.php bestand. Maak eerst een kopie van het bestand en open dan het originele bestand en zet deze regel er in:
php_value memory_limit 128M
Sla het bestand op en refresh je website om te kijken of het nu beter gaat.
Wat als dat allemaal nog niet gewerkt heeft?
Er zijn helaas nog meer oorzaken van een internal server error. Het kan een plugin zijn, of een thema wat kapot is. Dat kun je nog checken door map ‘plugins’ onder de map ‘wp-content’ tijdelijk te hernoemen en het actieve thema onder de map ’themes’ die ook onder de map ‘wp-content’ staat, tijdelijk te hernoemen.
Maar wellicht is het makkelijker om dan een backup terug te zetten, als er een goede backup aanwezig is. In een aantal gevallen kan de hostingprovider daar ook bij assisteren.
Kom je er toch niet uit? Dan kun je mij altijd vragen om mee te helpen. Kijk dan eerst even hier.