HTTP-fout 403 opvangen
Als je een website binnenkomt in een subdirectory kan het gebeuren dat HTTP-error 403 optreedt. Zie het plaatje hier onder.
De illustratie is gemaakt met een website die wordt geserveerd door Apache. Met andere webservers krijg
je een andere melding, met vergelijkbare inhoud.
Deze foutmelding wordt getoond als de webserver niet toestaat dat iemand in een sub-directory binnenkomt. De server van
hccnet, waar deze site draait, is zo ingesteld.
Als je browser is ingesteld op het weergeven van "gebruikersvriendelijke" foutmeldingen ziet
het er wat vriendelijker uit. De strekking van de melding is echter hetzelfde: Je mag er niet in!
Het kan echter ook voorkomen dat de webserver direct bezoek aan subdirectories wél toestaat. Je krijgt dan een bestandenlijst te zien die er uit ziet zoals op dit plaatje:
Je kunt het optreden van dit soort zaken bij je website op meerdere manieren voorkomen:
- Door een redirect te maken met .htaccess. Dat is mogelijk als dat beschikbaar wordt gesteld door de provider waar je website gehost wordt. De werkwijze staat beschreven in het item "HTTP-fout 404 opvangen" .
- Door een redirect te maken met index.html. Op deze bladzijde wordt besproken hoe je dat aanpakt.
- De werking is uitgebreid getest bij diverse providers.
Ik ben erg benieuwd of er ook providers zijn waar deze aanpak NIET werkt. Weet je er een? Stuur mij een mailtje!
- Allereerst is er een korte uitleg over de opzet van deze website:
- Onder de root bevindt zich een aantal een aantal subdirectories: images, links, rechts, html,
html-0, html-1, enz.
De code die je nu leest staat in de subdirectory html-1. - Alle subdirectories in deze website afgeschermd met de hier beschreven techniek. Als je toch probeert daar naar binnen
te komen word je verwelkomd door de melding "Verboden toegang", waarna je wordt omgeleid naar de start-pagina…
Probeer bijvoorbeeld eens één van onderstaande links:
subdirectory links in deze website
subdirectory html in deze website
subdirectory varia in deze website
- Deze website wordt gehost bij hccnet, onderdeel van hcc.nl. Het is bij hccnet niet toegestaan om in sub-directories binnen te komen.
- Nu volgt er een uitleg hoe je dit aanpakt.
- Je website begint met een "root-bestand". Meestal is dat index.html, maar ook andere namen zoals default.htm komen voor. Deze website gebruikt index.html.
- Plaats in elke subdirectory die je wilt beschermen een HTML-bestand met de naam van de root-file. De subdirectories van deze website bevatten allemaal (behalve images) een file index.html.
- De file index.html toont de foutmelding op het scherm en verzorgt de omleiding. Voor de omleiding kun je de technieken
gebruiken die zijn beschreven in de items "Automatisch van pagina
wisselen" en "Automatischvan pagina wisselen II".
Deze website gebruikt de techniek uit "Automatisch van pagina wisselen". Zie voorbeeld 1.
- Het is ook mogelijk om dit toe te passen zonder foutmelding. Je maakt dan een pagina index.html aan zonder enige opsmuk. Je houdt de code zo klein en eenvoudig mogelijk, zodat niet opvalt dat er een omleiding is. Zie voorbeeld 2, hier onder.
Gebruik:
- De code staat in een aparte file index.html.
- Een andere naam dan index.html kan noodzakelijk zijn indien de server-software van de provider dit vereist.
De code ziet er als volgt uit:
(Voorbeeld 1: Gebruik van een <META>-tag, 6 seconden wachttijd voor de omleiding wordt uitgevoerd).
(Voorbeeld 2: Gebruik van een Event Handler met JavaScript in de <BODY>-tag, de omleiding wordt onmiddellijk uitgevoerd).<html>
<head>
<title>Ben's Hobbyhoekje -- Verboden toegang!</title>
<meta http-equiv="Refresh" content="6; URL=../index.html">
<link rel="stylesheet" href="styles.css">
</head>
<body bgcolor="#E4E9F6">
<div align="center">
<p><img src="bbhead1.gif" width="481" height="44" border="0" alt="Openingspagina"></p>
<p><hr width="100%" size="1" color="#000000" noshade></p>
<p> <br> <br> <br> </p>
<p class="Kop1">VERBODEN TOEGANG</p>
<p> </p>
<p class="Kop3"><script>
var a = document.URL;
var b = a.lastIndexOf('/');
document.write('<b>---- ',a.substring(0,b),' ----</b>');
</script></p>
<p> </p>
<p class="Kop3"><b>U wordt over enkele seconden omgeleid naar de startpagina</b></p>
<p class="Kop3">of klik <a href="../index.html" target="_top">HIER</a>. </p></div>
</body>
</html><html>
<head>
<title>Ben's Hobbyhoekje -- Verboden toegang!</title>
</head>
<body onload="document.location='https://home.hccnet.nl/s.f.boukes/'">
</body></html>html-156; Laatste wijziging: 28 januari 2024
- Onder de root bevindt zich een aantal een aantal subdirectories: images, links, rechts, html,
html-0, html-1, enz.