403 Forbidden op je website: zo vind en los je de oorzaak op
Gepubliceerd op 9 november 2026 11 min leestijd
Krijg je een 403 Forbidden op je website of in WordPress? Zo zie je waar de melding vandaan komt en los je de oorzaak op, stap voor stap in Plesk.
Een 403 Forbidden betekent dat de server de pagina wel vindt, maar weigert hem te tonen. Bij je hosting van LJPc zit de oorzaak bijna altijd in je website of in de instellingen van je domein: een regel in .htaccess, een beveiligingsmaatregel van WP Toolkit of een plugin, bestandsrechten, een ontbrekend indexbestand of de PHP-instelling run PHP as. Aan de foutpagina en het logboek in Plesk zie je welke het is, en daarna los je het meestal zelf op.
Hieronder lees je hoe je een 403 herkent, waar je de oorzaak vindt en wat je per oorzaak doet. Plesk staat in het Engels, daarom gebruiken we hier de Engelse namen. Ben je nieuw in Plesk, lees dan eerst wegwijs in Plesk.
Wat betekent 403 Forbidden?
Op elk verzoek van je browser antwoordt de server met een statuscode. Een 403 betekent: de server begrijpt wat je vraagt, maar geeft je er geen toegang toe. Dat is iets anders dan een pagina die niet bestaat of een server die vastloopt. Deze tabel helpt je de meldingen uit elkaar te houden.
| Wat je ziet | Wat het betekent | Waar je verder leest |
|---|---|---|
| 403 Forbidden | Het bestand of de pagina bestaat, maar de server of je website weigert het te tonen | Dit artikel |
| 401 Unauthorized, of een venster dat om een gebruikersnaam en wachtwoord vraagt | De map is beveiligd met een wachtwoord | .htaccess: redirects, beveiliging en meer |
| 404 Not Found | Er staat geen bestand op dat adres | bestandsbeheer in Plesk |
| 500, 502, 503 of een witte pagina | Een fout in PHP, een plugin of .htaccess | foutlogboek bekijken in Plesk |
| Deze site is niet bereikbaar, met ERR_CONNECTION_REFUSED | Je krijgt geen verbinding met de server, vaak door een geblokkeerd IP-adres | IP-adres geblokkeerd |
Van wie komt de 403? Kijk eerst naar de foutpagina
De tekst op de foutpagina laat zien wie de toegang weigert: de webserver, een plugin in je website of een dienst die vóór je website staat.
| Wat er op de pagina staat | Waar de 403 vandaan komt | Wat je doet |
|---|---|---|
| Access to this resource on the server is denied!, met onderaan Proudly powered by LiteSpeed Web Server | De webserver. Je site draait op een server met LiteSpeed | Zoek de oorzaak bij de oorzaken hieronder |
| You don't have permission to access this resource., met onderaan Apache Server at jouwdomein.nl | De webserver. Je site draait op een server met Apache | Zoek de reden in het logboek en bij de oorzaken hieronder |
| You do not have permission to access this document., met het logo van LJPc hosting | De webserver, met de standaardfoutpagina van LJPc hosting | Zoek de oorzaak bij de oorzaken hieronder |
| A potentially unsafe operation has been detected in your request to this site | De firewall van de WordPress-plugin Wordfence | Zie een beveiligingsplugin of Cloudflare houdt je tegen |
| Een pagina van Cloudflare met onderaan een Cloudflare Ray ID | Cloudflare, als je domein via Cloudflare loopt | Zie een beveiligingsplugin of Cloudflare houdt je tegen |
| Een foutpagina in de stijl van je eigen website | Je website toont een eigen foutpagina; de weigering zelf kan van de server of van een plugin komen | Zoek de reden in het logboek |
Welke webserver je site gebruikt, zie je ook in je browser. Druk op F12, open het tabblad Network, laad de pagina opnieuw en klik op de bovenste regel. Staat bij Response Headers server: LiteSpeed, dan draait je site op LiteSpeed. Bij server: nginx draait hij op Apache, met nginx ervoor.
De oorzaak vinden in het logboek van Plesk
In het logboek van je website zie je welke adressen een 403 kregen. Op een server met Apache staat er ook bij waarom.
- Open Plesk vanuit het klantenportaal. Hoe dat werkt, lees je in Plesk openen vanuit het klantenportaal.
- Ga naar Websites & Domains en klik in de kaart van je domein op het tabblad Dashboard.
- Klik onder Dev Tools op Logs.
- Filter in de filterrij bij Code op 403. Je ziet nu alleen de bezoeken die een 403 kregen, met het geweigerde adres in de kolom Message.
- Weet je niet welke regel bij jou hoort, klik dan op Start real-time updates en laad de pagina met de 403 opnieuw. Met het filter IP houd je alleen de regels van je eigen IP-adres over.
- Zet het filter Code weer leeg, kies rechtsboven bij All logs voor Apache error en zoek bij Message op
denied.
| Melding | Wat het betekent |
|---|---|
AH01630: client denied by server configuration | Een regel weigert de toegang: in .htaccess of een beveiligingsmaatregel van WP Toolkit |
AH01276: Cannot serve directory ...: No matching DirectoryIndex ... found | De map heeft geen indexbestand, zoals index.php of index.html |
Een regel met Permission denied | De webserver mag het bestand of de map niet lezen |
Draait je site op LiteSpeed, dan staat de reden van een 403 meestal niet in het logboek. Het geweigerde adres vind je wel met het filter Code. Het adres en het moment zeggen vaak al genoeg om de oorzaak hieronder te vinden. Meer over het logboek lees je in foutlogboek bekijken in Plesk.
Veelvoorkomende oorzaken en hoe je ze oplost
| Wat er gebeurt | Meest waarschijnlijke oorzaak |
|---|---|
| Je hele site of elk PHP-bestand geeft een 403, afbeeldingen en HTML werken wel | De instelling run PHP as |
| Je hoofddomein of een map geeft een 403 | Een ontbrekend indexbestand |
| Eén bestand of map geeft een 403 na het uploaden | Bestandsrechten |
| Een 403 na een wijziging in .htaccess, of op een installatiescript | Een regel in .htaccess |
| xmlrpc.php, een PHP-bestand in wp-content/uploads of een SEO-tool krijgt een 403 | Een beveiligingsmaatregel van WP Toolkit |
| Een 403 bij het opslaan in WordPress of bij één handeling | Een beveiligingsplugin of Cloudflare |
| Ineens 403's op veel plekken, terwijl je niets veranderde | Bestanden die er niet horen |
Je hele site of elk PHP-bestand geeft een 403
Laden je afbeeldingen en HTML-pagina's wel, maar geeft elk PHP-bestand een 403, ook een bestand dat je net hebt geüpload? En geeft een PHP-bestand dat niet bestaat wel een 404? Dan staat run PHP as waarschijnlijk op een FPM application, terwijl je site op een server met LiteSpeed draait. Op onze servers met LiteSpeed draait PHP als FastCGI application. Zo zet je het goed:
- Klik in Plesk op het Dashboard van je domein onder Dev Tools op PHP.
- Kijk bij run PHP as. Staat daar een keuze met FPM application, kies dan FastCGI application served by Apache.
- Laat de PHP-versie staan zoals hij is en klik onderaan op OK.
- Laad het PHP-bestand opnieuw.
Op onze servers met Apache is FPM application juist de standaard en werkt die goed. Geeft je site daar een 403 op PHP-bestanden, dan zit de oorzaak ergens anders. Zet dan je oude keuze terug en kijk in het logboek. Meer over deze pagina lees je in PHP-versie wijzigen in Plesk.
Je hoofddomein of een map geeft een 403
Krijg je een 403 op jouwdomein.nl of op jouwdomein.nl/map, dan ontbreekt er vaak een indexbestand. Een map zonder index.php of index.html laat de server niet zien, zodat niemand de lijst met je bestanden kan bekijken. In Apache error herken je het aan AH01276.
- Staan je bestanden in een submap, bijvoorbeeld omdat je zip-bestand een map bevatte? Zet ze dan in httpdocs zelf.
- Is je index.html of index.php weg, zet hem dan terug uit de Recycle Bin van File Manager of uit een back-up.
Hoe je bestanden verplaatst en terugzet, lees je in bestandsbeheer in Plesk.
Eén bestand of map geeft een 403 na het uploaden
Mag de webserver een bestand of map niet lezen, dan krijg je een 403. Dat gebeurt vooral na het uploaden met een programma dat eigen rechten meegeeft. Zet bestanden op 644 en mappen op 755. Hoe dat in Plesk gaat, staat in bestandsbeheer in Plesk. Gebruik nooit 777: dan mag iedereen het bestand wijzigen.
Een regel in .htaccess weigert de toegang
Een .htaccess-bestand kan bezoekers, IP-adressen of soorten bestanden weigeren. Kijk naar regels als Require all denied, Require not ip, Deny from all of een RewriteRule met [F] aan het eind. Een .htaccess in een hogere map geldt ook voor alle mappen eronder. Een bekend voorbeeld is de .htaccess van Drupal: die weigert PHP-bestanden in submappen die niet bij Drupal horen, dus ook een installatiescript dat je zelf in een submap uploadt.
- Open File Manager en zet bij More > View Options de optie Show system files and directories aan. Nu zie je .htaccess.
- Download .htaccess als reservekopie op je computer.
- Haal de regel weg die de toegang weigert en sla het bestand op.
- Weet je niet welke regel het is, hernoem het bestand dan tijdelijk, bijvoorbeeld naar .htaccess-uit, en test opnieuw. Werkt het dan, dan zit de oorzaak in dat bestand. Geef het daarna direct zijn oude naam terug, want zonder .htaccess werken bij WordPress de links naar je pagina's niet, en pas alleen die ene regel aan.
Hoe .htaccess werkt en hoe je zelf IP-adressen weigert, lees je in .htaccess: redirects, beveiliging en meer.
WordPress: een beveiligingsmaatregel van WP Toolkit
WP Toolkit in Plesk heeft beveiligingsmaatregelen die bepaalde verzoeken met een 403 weigeren. Ze beschermen je site, dus zet alleen de maatregel uit die je echt nodig hebt.
| Wat een 403 krijgt | De maatregel in WP Toolkit |
|---|---|
| xmlrpc.php, bijvoorbeeld bij Jetpack of een app die XML-RPC gebruikt | Block access to xmlrpc.php |
| Een PHP-bestand in wp-content/uploads | Forbid execution of PHP scripts in the wp-content/uploads directory |
| Een PHP-bestand in wp-includes dat je rechtstreeks opent | Forbid execution of PHP scripts in the wp-includes directory |
| SEO-tools en scanners, zoals Ahrefs, Semrush en Majestic, of een script met python-requests | Enable bot protection |
Een adres met ?author=1, de auteurspagina via het nummer van de auteur | Block author scans |
| Bestanden die eindigen op .log, .ini, .sh, .exe, .bat, .cmd, .csh of .psd | Block access to potentially sensitive files |
Googlebot en Bingbot staan niet op de lijst van bot protection: Google en Bing blijven je site dus lezen.
- Klik in Plesk in het menu links op WordPress en zoek de kaart van je site.
- Klik op de melding onder Security, bijvoorbeeld Critical security measures applied.
- Vink in de lijst alleen de maatregel aan die de 403 geeft en klik op Revert.
- Test opnieuw. Wil je de maatregel later weer aanzetten, vink hem dan aan en klik op Secure.
Wil je de maatregel liever laten staan, zet het bestand dan op een andere plek. Een PHP-script hoort bijvoorbeeld niet in wp-content/uploads.
Een beveiligingsplugin of Cloudflare houdt je tegen
Beveiligingsplugins als Wordfence houden verzoeken tegen die op een aanval lijken. Soms raakt dat een gewone handeling, zoals het opslaan van een pagina met code erin. Wordfence toont dan A potentially unsafe operation has been detected in your request to this site.
- Ben je beheerder en weet je zeker dat het een vals alarm is? Vink op die pagina I am certain this is a false positive. aan, klik op Allowlist This Action en herhaal je handeling.
- Andere beveiligingsplugins houden in WordPress een eigen logboek bij, waarin je ziet wat er werd tegengehouden en waarom.
- Kom je niet meer in WordPress, hernoem dan in File Manager de map van de plugin in wp-content/plugins, bijvoorbeeld naar pluginnaam-uit. WordPress zet de plugin dan uit. Geef de map zijn oude naam terug zodra je weer binnen bent.
Staat er onderaan de foutpagina een Cloudflare Ray ID, dan houdt Cloudflare het verzoek tegen. Zoek die Ray ID op bij Security Events in je Cloudflare-account: daar staat welke regel het verzoek blokkeerde.
Ineens 403's op veel plekken, terwijl je niets veranderde
Krijg je onverwacht een 403 op wp-admin of op veel pagina's, en staan er .htaccess-bestanden in mappen waar jij ze nooit neerzette? Dan kan je site besmet zijn. Sommige malware plaatst in veel mappen een .htaccess die PHP-bestanden weigert, zodat alleen de eigen scripts van de aanvaller werken. Wat je dan doet, lees je in malwaremelding ontvangen.
Kom je er niet uit? Dit stuur je ons
Maak een supportticket aan in het klantenportaal, dan zoeken wij het voor je uit. Zet erin:
- het volledige adres dat de 403 geeft, bijvoorbeeld https://jouwdomein.nl/contact.php;
- de datum en het tijdstip waarop je de 403 zag;
- je IP-adres op dat moment, op te zoeken zoals in IP-adres geblokkeerd staat;
- een schermafbeelding van de foutpagina;
- wat er net daarvoor veranderde, zoals een upload, een update, een nieuwe plugin of een verhuizing.
Met het adres, het tijdstip en je IP-adres vinden we het verzoek terug in de logboeken van de server en zoeken we uit wat het tegenhoudt.
Veelgestelde vragen
Is een 403 een blokkade van mijn IP-adres?
Meestal niet. Blokkeert de beveiliging van onze servers je IP-adres na te veel foute inlogpogingen, dan krijg je helemaal geen verbinding, met een melding als ERR_CONNECTION_REFUSED. Zie je wel een 403-pagina, dan antwoordt de server dus. Een 403 die alleen jouw IP-adres treft, komt van een regel in .htaccess of van een beveiligingsplugin in je website.
Blokkeert een firewall van LJPc mijn PHP-script?
De firewall en fail2ban op onze servers houden aanvallers tegen voordat er een verbinding is; zij geven geen 403. Een 403 op een PHP-script komt van de instellingen van je domein of van je website zelf, zoals run PHP as, een regel in .htaccess, een maatregel van WP Toolkit of een beveiligingsplugin. Vind je de oorzaak niet, stuur ons dan het adres en het tijdstip, dan zoeken wij het uit.
Waarom geeft xmlrpc.php een 403?
Dan staat in WP Toolkit de beveiligingsmaatregel Block access to xmlrpc.php aan. Die beschermt je site tegen aanvallen via XML-RPC. Gebruik je een dienst die XML-RPC nodig heeft, zoals Jetpack, zet dan alleen deze maatregel uit met Revert onder Security op de kaart van je site.
Waarom krijgen SEO-tools als Ahrefs of Semrush een 403 en Google niet?
De maatregel Enable bot protection van WP Toolkit weigert een vaste lijst bots, waaronder AhrefsBot, SemrushBot en de bot van Majestic. Googlebot en Bingbot staan niet op die lijst. Wil je een SEO-tool je site laten scannen, zet de maatregel dan tijdelijk uit en daarna weer aan met Secure.
Mag ik mijn bestanden op 777 zetten om een 403 op te lossen?
Nee. Met 777 mag iedereen op de server het bestand wijzigen, en dat is een groot beveiligingsrisico. Zet bestanden op 644 en mappen op 755; daarmee kan de webserver alles lezen wat hij nodig heeft.
Kan ik bezoekers een eigen 403-pagina laten zien?
Ja. Met de regel ErrorDocument 403 /403.html in .htaccess toont de server je eigen pagina in plaats van de standaardfoutpagina. Hoe dat werkt, lees je in het artikel over .htaccess.