Het .htaccess bestand is een van de krachtigste en gevaarlijkste bestanden op je webserver. Je kunt er redirects mee instellen, je site beveiligen en URLs herschrijven. Maar één typfout en je site toont alleen nog Error 500.

Wat is .htaccess?

.htaccess (hypertext access) is een configuratiebestand voor Apache webservers. Het staat in de root van je website en beïnvloedt hoe de server requests afhandelt.

De punt vooraan betekent dat het een verborgen bestand is. In je FTP-client moet je mogelijk "verborgen bestanden tonen" aanzetten.

Waarvoor gebruik je .htaccess?

  • Redirects: URLs doorsturen naar andere locaties
  • URL rewriting: Mooie URLs zonder .php extensie
  • Beveiliging: Mappen beveiligen, IP's blokkeren
  • Caching: Browser caching instellen
  • HTTPS forceren: HTTP naar HTTPS redirecten
  • Foutpagina's: Custom 404 pagina instellen

Veelgebruikte .htaccess regels

HTTP naar HTTPS forceren

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

www naar non-www (of andersom)

# Van www naar non-www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Van non-www naar www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Specifieke redirect

Redirect 301 /oude-pagina https://jouwsite.nl/nieuwe-pagina

Custom 404 pagina

ErrorDocument 404 /404.html

Map met wachtwoord beveiligen

AuthType Basic
AuthName "Beveiligd gebied"
AuthUserFile /pad/naar/.htpasswd
Require valid-user

IP-adres blokkeren

Deny from 123.456.789.000

Browser caching

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

WordPress en .htaccess

WordPress gebruikt .htaccess voor permalinks. De standaard inhoud:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Wijzig niets tussen BEGIN en END WordPress — die worden overschreven door WordPress.

Veilig .htaccess bewerken

  1. Maak een backup: Download het huidige bestand
  2. Bewerk lokaal: Gebruik een goede teksteditor (niet Word!)
  3. Upload en test: Laad je site direct na uploaden
  4. Fout? Herstel backup: Overschrijf met je backup

Veelvoorkomende problemen

Error 500 na wijziging

Syntaxfout in je .htaccess. Herstel je backup of verwijder de recente wijziging.

Redirect loop

Je redirect verwijst naar een URL die weer redirect. Check de volgorde van je regels.

Regels werken niet

Mod_rewrite is mogelijk niet actief. Of je server is nginx (die gebruikt geen .htaccess).

Let op: nginx gebruikt geen .htaccess

.htaccess werkt alleen op Apache servers. Nginx heeft een eigen configuratiesysteem. Als je op nginx zit, moet je de serverbeheerder vragen wijzigingen door te voeren.

Veelgestelde vragen

Kan ik .htaccess per map hebben?

Ja, elke map kan een eigen .htaccess hebben die de bovenliggende overschrijft.

Hoe weet ik of mijn server Apache is?

Check je hostingpaneel of vraag je provider. Of kijk in de serverheaders van je site.

Is .htaccess traag?

Een beetje. Apache moet het bestand lezen bij elke request. Voor high-traffic sites is serverconfig sneller.

Hosting bij Theory7

Veelgebruikte .htaccess trucs

HTTP naar HTTPS forceren

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Alle bezoekers worden automatisch naar de beveiligde versie van je site gestuurd.

WWW toevoegen of verwijderen

Toevoegen (non-www naar www):

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Verwijderen (www naar non-www):

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Aangepaste error-pagina's

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Toon een eigen pagina in plaats van de standaard server-error.

Browser caching instellen

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Browsers slaan bestanden langer op, wat je site sneller maakt voor terugkerende bezoekers.

Hotlinking blokkeren

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?jouwsite\.nl [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

Voorkom dat anderen je afbeeldingen direct inladen en jouw bandbreedte gebruiken.

.htaccess en WordPress

WordPress gebruikt .htaccess voor permalinks. Dit is de standaard inhoud:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Pas dit blok niet handmatig aan — WordPress beheert het zelf. Voeg je eigen regels erboven of eronder toe.

.htaccess veilig bewerken

  1. Maak eerst een backup van je huidige .htaccess
  2. Test wijzigingen lokaal of op een staging-omgeving
  3. Upload en test direct — syntax-fouten maken je site onbereikbaar
  4. Bij problemen: herstel de backup

Veelvoorkomende fouten

500 Internal Server Error

Syntax-fout in je .htaccess. Controleer regels zorgvuldig. Een enkele typfout breekt alles.

Redirect loop

Je regels verwijzen naar elkaar. Check op conflicterende RewriteRules.

Bestand niet zichtbaar

.htaccess is een verborgen bestand (begint met punt). Zet in je FTP-client "verborgen bestanden tonen" aan.

Geavanceerde .htaccess technieken

Beveiliging verbeteren

Blokkeer toegang tot gevoelige bestanden:

<FilesMatch "^(wp-config\.php|\.htaccess|readme\.html)$">
Order Allow,Deny
Deny from all
</FilesMatch>

Schakel directory browsing uit:

Options -Indexes

Bescherm tegen clickjacking:

Header always set X-Frame-Options "SAMEORIGIN"

Performance optimalisatie

Compressie inschakelen:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css
AddOutputFilterByType DEFLATE application/javascript application/json
</IfModule>

URL herschrijven

Oude URL naar nieuwe redirecten:

Redirect 301 /oude-pagina https://site.nl/nieuwe-pagina

Alle verzoeken naar een onderhoudspagina (behalve je IP):

RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{REQUEST_URI} !^/onderhoud\.html$
RewriteRule ^(.*)$ /onderhoud.html [R=302,L]

.htaccess alternatieven

Nginx

Op Nginx-servers werkt .htaccess niet. Daar gebruik je configuratie in nginx.conf of server blocks. Veel regels zijn vergelijkbaar maar met andere syntax.

Plugin-gebaseerd

Sommige functies kun je ook via WordPress plugins regelen, zoals redirects (Redirection plugin) of security headers (diverse security plugins).

.htaccess is een krachtig configuratiebestand dat veel mogelijkheden biedt. Experimenteer voorzichtig, maak backups, en je hebt een flexibel hulpmiddel voor website-optimalisatie.

Het .htaccess-bestand is een van de krachtigste configuratiebestanden op een Apache webserver. Met een paar regels code kun je het gedrag van je website fundamenteel veranderen — van URL-herschrijving tot toegangsbeperking, van caching tot beveiliging.

Veelgebruikte .htaccess-regels

Enkele handige regels die je kunt toevoegen aan je .htaccess:

  • Redirect van HTTP naar HTTPS voor een veilige verbinding
  • Toegang blokkeren voor specifieke IP-adressen
  • Browser caching instellen voor snellere laadtijden
  • Directorylijsten uitschakelen voor betere beveiliging
  • Custom 404-errorpagina's instellen

Voorzichtig met wijzigingen

Het .htaccess-bestand is gevoelig — een klein typfout kan je hele website platleggen. Maak daarom altijd een backup voordat je wijzigingen aanbrengt. Als je website na een aanpassing niet meer werkt, kun je het backup-bestand terugzetten via FTP.

Test wijzigingen altijd op een staging-omgeving of testserver voordat je ze live zet. En documenteer wat je toevoegt, zodat je later nog weet waarom bepaalde regels er staan.

Alternatief: NGINX

Let op dat .htaccess alleen werkt op Apache-servers. Als je hosting NGINX gebruikt, moet je de configuratie elders doen. Vraag je hostingprovider hoe je soortgelijke instellingen kunt maken op een NGINX-server.

Het .htaccess-bestand geeft je controle over je Apache-webserver. Van redirects tot caching-headers, de mogelijkheden zijn eindeloos. Wees voorzichtig met wijzigingen — een typefout kan je site onbereikbaar maken. Test altijd op een kopie en houd een backup bij de hand. Met wat oefening wordt .htaccess een onmisbaar gereedschap in je websitebeheer toolkit. Bestudeer de mogelijkheden en pas ze toe waar nodig.

Met .htaccess bepaal je hoe Apache je website serveert. Van eenvoudige redirects tot complexe herschrijfregels — de mogelijkheden zijn enorm. Neem de tijd om de syntax te leren en experimenteer op een testserver. Een solide .htaccess configuratie maakt je website sneller, veiliger en beter vindbaar. Het is een skill die elke webmaster zou moeten beheersen.

Elk .htaccess-commando dat je leert maakt je een betere webmaster. Begin met de basis en breid je kennis stap voor stap uit. Redirects, caching-headers, beveiligingsregels — het zijn allemaal waardevolle vaardigheden. Documenteer je configuratie zodat je later weet waarom bepaalde regels er staan. Een goed onderhouden .htaccess-bestand is een teken van professioneel websitebeheer.

Bij Theory7 draaien we LiteSpeed webservers die .htaccess ondersteunen. Hulp nodig met je configuratie? Onze support helpt graag.

Start nu met .htaccess.

Leer .htaccess beheersen vandaag.

Overzicht van veelgebruikte htaccess bestand regels

Het htaccess bestand biedt talloze mogelijkheden om je website te configureren. Hieronder vind je een handig overzicht van de meest gebruikte regels die je in je htaccess bestand kunt toepassen.

Functiehtaccess bestand regelToepassing
HTTP naar HTTPS redirectRewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]Beveiligde verbinding afdwingen
www naar non-wwwRewriteRule ^(.*)$ https://voorbeeld.nl/$1 [R=301,L]Canonieke URL instellen
Custom 404 paginaErrorDocument 404 /404.htmlEigen foutpagina tonen
Directory listing blokkerenOptions -IndexesMapinhoud verbergen
Gzip compressieAddOutputFilterByType DEFLATE text/htmlSnellere laadtijden
Browser cachingExpiresByType image/jpeg "access plus 1 year"Statische bestanden cachen
IP blokkerenDeny from 123.456.789.0Ongewenst verkeer weren
Hotlink protectieRewriteRule \.(jpg|png|gif)$ - [F]Afbeeldingen beschermen

Tips voor het veilig bewerken van je htaccess bestand

Voordat je wijzigingen aanbrengt in je htaccess bestand, is het verstandig om altijd eerst een backup te maken. Een fout in het htaccess bestand kan ervoor zorgen dat je hele website onbereikbaar wordt. Test wijzigingen bij voorkeur eerst op een testomgeving voordat je ze op je live website doorvoert.

Het htaccess bestand is een krachtig maar ook kwetsbaar configuratiebestand. Gebruik altijd de juiste syntax en controleer na elke aanpassing of je website nog correct functioneert. Bij twijfel kun je het htaccess bestand het beste laten bewerken door iemand met technische ervaring.

Htaccess Bestand: Prestatie-optimalisatie

Het htaccess bestand is een krachtig hulpmiddel om de prestaties van je website te verbeteren zonder serverconfiguratiebestanden te wijzigen.

Browser-caching instellen

Met het htaccess bestand kun je browser-caching headers instellen die de browser vertellen hoe lang bestanden lokaal mogen worden opgeslagen. Statische bestanden zoals afbeeldingen, CSS en JavaScript wijzigen zelden en kunnen maanden worden gecachet. HTML-bestanden wijzigen vaker en krijgen een kortere cachetijd. Door browser-caching correct in te stellen, laden terugkerende bezoekers je website significant sneller omdat ze veel bestanden niet opnieuw hoeven te downloaden.

GZIP-compressie activeren

GZIP-compressie verkleint de omvang van bestanden die naar de browser worden gestuurd met 60 tot 80 procent. Dit vermindert de hoeveelheid data die over het netwerk wordt verstuurd en versnelt de laadtijd aanzienlijk. Via het htaccess bestand schakel je compressie in voor tekstgebaseerde bestanden zoals HTML, CSS, JavaScript, XML en JSON. Binaire bestanden zoals afbeeldingen en video profiteren niet van GZIP-compressie omdat ze al zijn gecomprimeerd.

Prestatie-instellingen overzicht

InstellingEffectCachetijdBestandstype
Browser-caching afbeeldingenSnellere herhaalde bezoeken1 jaarJPG, PNG, WebP, SVG
Browser-caching CSS/JSMinder downloads1 maandCSS, JavaScript
Browser-caching HTMLVersere content1 uur tot 1 dagHTML
GZIP-compressie60-80% kleinerNiet van toepassingTekst-bestanden
ETags uitschakelenMinder verzoekenNiet van toepassingAlle bestanden

Htaccess Bestand: Veelgemaakte Fouten en Oplossingen

Een fout in je htaccess bestand kan je hele website onbereikbaar maken. Ken de veelgemaakte fouten en hoe je ze voorkomt.

500 Internal Server Error

De meest voorkomende fout na het bewerken van een htaccess bestand is de 500 Internal Server Error. Dit betekent dat er een syntaxfout in het bestand staat. Maak altijd een backup van je oorspronkelijke htaccess bestand voordat je wijzigingen aanbrengt. Als je een 500-fout krijgt, herstel dan het backup-bestand via FTP. Voeg wijzigingen stap voor stap toe en test na elke wijziging of de website nog correct functioneert.

Redirect-loops voorkomen

Onjuist geconfigureerde redirects kunnen leiden tot oneindige loops waarbij de browser eindeloos wordt doorverwezen. Dit resulteert in de foutmelding dat de pagina te veel keer is doorverwezen. Controleer je redirect-regels op circulaire verwijzingen. Gebruik RewriteCond-voorwaarden om te voorkomen dat regels worden toegepast op URLs die al aan de gewenste criteria voldoen.

Lees ook ons uitgebreide artikel over htaccess de complete gids voor nog meer geavanceerde configuraties.

Htaccess Bestand: Veelgestelde Vragen

Bij het werken met het htaccess bestand komen veel dezelfde vragen naar voren. Hieronder beantwoorden we de meest gestelde vragen met duidelijke uitleg.

Waar vind ik het htaccess-bestand?

Het htaccess-bestand bevindt zich in de root-directory van je website, dezelfde map als je index.php of index.html bestand. Omdat de bestandsnaam begint met een punt, is het een verborgen bestand dat standaard niet zichtbaar is in de meeste bestandsbeheerders. In FileZilla schakel je de weergave van verborgen bestanden in via Server, Verborgen bestanden forceren. In het bestandsbeheer van DirectAdmin is het bestand standaard zichtbaar.

Kan ik meerdere htaccess-bestanden hebben?

Ja, je kunt een htaccess-bestand plaatsen in elke directory van je website. Het htaccess-bestand in een submap overschrijft de regels van het htaccess-bestand in de bovenliggende map voor die specifieke directory. Dit is handig om specifieke regels toe te passen op bepaalde secties van je website, zoals wachtwoordbeveiliging voor een admin-map of andere caching-regels voor een media-directory.

Veelgestelde vragen

  • Is htaccess veilig om te bewerken? Ja, mits je een backup maakt voordat je wijzigingen aanbrengt. Een fout kan je website onbereikbaar maken, maar dit is eenvoudig te herstellen door het backup-bestand terug te plaatsen.
  • Werkt htaccess op alle servers? Htaccess werkt alleen op Apache-webservers. Nginx en LiteSpeed gebruiken een ander configuratiesysteem, hoewel LiteSpeed een beperkte htaccess-compatibiliteit biedt.
  • Hoe test ik mijn htaccess-regels? Er bestaan online htaccess-testers waar je je regels kunt invoeren en testen zonder ze op je live server te plaatsen. Test altijd in een staging-omgeving voordat je wijzigingen doorvoert op productie.
  • Kan ik htaccess gebruiken voor PHP-instellingen? Ja, je kunt diverse PHP-configuraties instellen via htaccess, zoals geheugenlimieten, uploadgroottes en foutrapportage-niveaus.

Htaccess Bestand: Samenvatting en Essentiële Configuraties

Het htaccess bestand is een krachtig maar eenvoudig hulpmiddel voor het configureren van je website. Hier vatten we de essentiële configuraties samen die elke website zou moeten hebben.

De vijf must-have configuraties

Elke website zou minimaal deze vijf configuraties in het htaccess-bestand moeten hebben. Ten eerste: een redirect van HTTP naar HTTPS voor beveiligde verbindingen. Ten tweede: browser-caching headers die de laadsnelheid voor terugkerende bezoekers verbeteren. Ten derde: GZIP-compressie die de bestandsgrootte met 60 tot 80 procent verkleint. Ten vierde: het uitschakelen van directory listing zodat bezoekers niet door je mappen kunnen bladeren. Ten vijfde: bescherming van gevoelige bestanden door directe toegang te blokkeren.

Onderhoud en documentatie

Behandel je htaccess-bestand als een belangrijk configuratiedocument. Voeg bij elke regel of blok een commentaar toe dat beschrijft wat de regel doet en wanneer deze is toegevoegd. Maak een backup voordat je wijzigingen aanbrengt. Test elke wijziging direct in je browser. Bewaar een versiegeschiedenis zodat je kunt terugkeren naar een eerdere configuratie als er problemen optreden. Met deze discipline blijft je htaccess-bestand overzichtelijk, begrijpelijk en onderhoudbaar op de lange termijn.

Htaccess Bestand: Optimalisatie voor Specifieke CMS-systemen

Het htaccess bestand vereist specifieke configuraties afhankelijk van het gebruikte CMS-systeem. Voor WordPress bevat het standaard htaccess-bestand de herschrijfregels voor permalinks, maar je kunt het uitbreiden met caching-headers en beveiligingsregels. Voor Joomla zijn de standaard SEF-URL regels al opgenomen, maar extra regels voor het blokkeren van veelvoorkomende aanvalsvectoren zijn aan te bevelen. Bij een custom PHP-applicatie schrijf je alle URL-routing regels zelf in het htaccess-bestand. Zorg ervoor dat je CMS-specifieke regels niet conflicteren met je eigen aangepaste regels door de volgorde zorgvuldig te bepalen.

Veelgemaakte fouten in het htaccess bestand

Voorkom de meest gemaakte fouten bij het bewerken van je htaccess bestand. Vergeet nooit een backup te maken voordat je wijzigingen doorvoert. Controleer of RewriteEngine On is ingeschakeld voordat je herschrijfregels toevoegt. Vermijd oneindige redirect-lussen door je voorwaarden zorgvuldig te formuleren. Test elke wijziging direct na implementatie en controleer zowel de functionaliteit als de prestaties van je website.