Wanneer er een pagina van je website wordt aangevraagd, stuurt de server een HTTP-statuscode als antwoord op het verzoek. Dit gebeurt bijvoorbeeld wanneer een websitebezoeker een pagina van je website opent in zijn browser. Hieronder staan een aantal van de veelvoorkomende statuscodes.
Inhoudsopgave
- 400 - Foute aanvraag
- 401 - Niet geautoriseerd
- 403 - Toegang verboden
- 404 - Bestand niet gevonden
- 500 - Internal (Interne) server error
400 - Foute aanvraag
Een 400 Foute aanvraag-melding ontstaat wanneer de browser een verzoek stuurt naar de server maar de server dit verzoek niet herkent. In de praktijk komt dit voor bij verouderde browsers. Nieuwere browsers sturen meer informatie naar de server dan voorheen. Bij het ontbreken van informatie kan deze melding optreden. Het is altijd verstandig om het error.log bestand te raadplegen. Hierin staat vaak waardevolle informatie. Het error.log-bestand staat in de map logs als je naar het bestandsbeheer van je pakket gaat.
401 - Niet geautoriseerd
De foutmelding Niet geautoriseerd komt voor wanneer een bestand of map met een wachtwoord is beveiligd. Dit kun je instellen via de optie Directory beveiligen in de Hostingmanager. Als het bestand of map wordt aangevraagd en je de melding om in te loggen wegklikt geeft de server een 401 - Niet geautoriseerd-melding
Er zijn meerdere oplossingen:
- Kijk in de Hostingmanager op de pagina Websites & domeinnamen en schakel eventueel de beveiliging uit.
- Vul de juiste gebruikersnaam en wachtwoord in
Staan er geen beveiligingen op de pagina Afgeschermde mappen dan is het waarschijnlijk een handmatige aanpassing geweest. Verder onderzoek is dan nodig.
403 - Toegang verboden
De 403 Toegang verboden-melding betekent dat de opgevraagde informatie niet toegankelijk is of het commando niet toegestaan. Vaak komt dit door:
- een index-bestand dat niet (juist) aanwezig is
- onvoldoende rechten
Hieronder leggen we beide opties uit.
1. Geen index-bestand aanwezig of benoemd
Een veelvoorkomend voorbeeld wanneer de 403-melding optreedt, is wanneer er geen index.html/.htm/.php aanwezig is en er geen andere index is gedefinieerd in het .htaccess-bestand. Standaard zoekt de webserver naar een bestand waarvan de naam begint met index en de extensie eindigt op .htm/.html/.php. Als dit bestand niet gevonden kan worden probeert de server een lijst te tonen van alle bestanden die wel aanwezig zijn in de betreffende map. Dit heet Directory Listing. Om veiligheidsredenen hebben wij Directory listing uitgeschakeld op de server. Daarom stuurt de server een 403-foutcode terug.
Oplossing
Heb je jouw website geüpload naar het hostingpakket en krijg je de melding 403 Toegang verboden, dan kan het zijn dat er geen index-bestand aanwezig is. De homepage, de pagina die de bezoeker ziet wanneer hij/zij je domeinnaam invult, moet een van de volgende namen te hebben: index.html, index.htm, index.php. Een veelvoorkomende naam voor de homepage is home.html. In dit geval zijn er twee oplossingen:
- Je hernoemt het bestand naar index.html of index.htm.
- Kun je het bestand niet hernoemen dan kun je de volgende code toevoegen aan je .htaccess-bestand: DirectoryIndex home.html
2. Onvoldoende rechten
Een ander praktijkvoorbeeld is het opvragen van een pagina (bestand) waarvan de rechten het niet toelaten. Een bestand heeft minimaal leesrechten nodig voor de eigenaar (chmod 400 of hoger).
Heeft een bestand onvoldoende rechten of geen lees-rechten dan verschijnt de volgende melding in het error log:
(13) Permission denied: file permissions deny server access: /home/testpakket.nl/public_html/test.htm
Oplossing
Een bestand kent 3 situaties, waarin 3 verschillende rechten mogelijk zijn. In totaal zijn er dus negen opties. De verschillende rechten zijn:
- Lees (read);
- Schrijf (write);
- Uitvoeren (execute);
Deze zijn in te delen in de volgende groepen:
- Eigenaar (user);
- Groep (group);
- Anderen (other);
Voor het weergeven van de rechten van een bestand wordt de volgende notatie gebruikt:
- Eigenaar - Groep - Anderen
- rwx rwx rwx
Dus: rwxrwxrwx. Hierbij staat de 'r' voor read (lees), de 'w' voor write (schrijven) en de 'x' voor execute (uitvoeren). Zoals gezegd heeft een bestand minimaal leesrechten nodig: het volgende is dus voldoende: r--------. Standaard wordt een bestand aangemaakt met de volgende rechten: rw-rw-r--.
Krijg je een 403-foutmelding controleer dan of voor het bestand de juiste rechten zijn ingesteld. Het bekijken en wijzigen van de rechten kan in vrijwel alle FTP-programma's. Hier wordt het vaak benoemd als chmod. Ook kun je de rechten bekijken en/of wijzigen bij Bestanden in de Hostingmanager. Selecteer hiervoor een bestand en kijk links onder het kopje Permissions. Klik op Rechten wijzigen om de rechten te wijzigen.
404 - Bestand niet gevonden
Een 404-foutcode ontstaat wanneer er een verzoek wordt gedaan voor een bestand dat niet aanwezig is op de server. Hierbij is alles na de domeinnaam hoofdlettergevoelig.
http://yourhosting.nl/Test.html is dus niet hetzelfde als http://yourhosting.nl/test.html. Daarentegen is http://YOURHOSTING.nl/Test.html wel hetzelfde als http://yourhosting.nl/Test.html.
Let ook op het gebruik van https://en http://
Mogelijke oplossingen:
- Kijk of ingevulde adres geen typefouten bevat. Let hierbij ook op hoofdletters en kleine letters
- Komt het pad in het error.log niet overeen met het adres dat je invult, controleer dan het .htaccess-bestand op verwijzingen.
500 - Internal (Interne) server error
De server stuurt de foutmelding 500 internal server error vaak wanneer er een fout aanwezig is in het .htaccess-bestand. Denk hierbij aan een typefout of een fout in de verwijzing. Voorbeeld: RewriteRlue in plaats van RewriteRule. De server kan dit niet ontcijferen en geeft een Interne server error.
Kijk bij deze melding altijd in het error log. Het bovenstaande voorbeeld geeft de volgende foutmelding:
[alert] [client 123.123.123.132] /home/domeinnaam.nl/public_html/.htaccess: Invalid command 'RewriteRlue', perhaps misspelled or defined by a module not included in the server configuration.
In de foutmelding wordt de reden duidelijk benoemd; het gaat hier om een spelfout.
In dit geval is het een kwestie van het corrigeren van de typfout in het .htaccess-bestand. In de Hostingmanager bij Bestanden selecteer je het betreffende .htaccess-bestand waarna je direct de typfout kunt corrigeren.