Het htaccess-bestand is een van de krachtigste configuratiebestanden voor je website. Of je nu redirects wilt instellen, de beveiliging wilt verbeteren of aangepaste foutpaginas wilt tonen — met het configuratiebestand kun je het allemaal regelen. In deze complete gids leggen we uit wat dit bestand doet, hoe je het gebruikt, en geven we praktische codevoorbeelden die je direct kunt toepassen.

Wat is een htaccess-bestand en waarvoor gebruik je het?

Het htaccess-bestand (volledige naam: .htaccess) is een configuratiebestand voor de Apache-webserver. De punt voor de naam geeft aan dat het een verborgen bestand is op Linux-servers. Het bestand bevat instructies die de Apache-server uitvoert voordat een pagina wordt geladen.

Met een htaccess-bestand kun je onder andere:

  • URL-redirects instellen — Bezoekers automatisch doorsturen naar nieuwe paginas
  • Toegang beperken — Bepaalde IP-adressen blokkeren of toestaan
  • Wachtwoordbeveiliging — Mappen beschermen met een wachtwoord
  • Aangepaste foutpaginas — Eigen 404- en 500-paginas tonen
  • Browser-caching instellen — Laadtijden verbeteren door caching-regels
  • HTTPS afdwingen — Onbeveiligde verbindingen omleiden naar HTTPS
  • Hotlink-bescherming — Voorkomen dat anderen je afbeeldingen inladen

Het bestand werkt per map: een htaccess-bestand in de hoofdmap van je website is van toepassing op alle bestanden en submappen, tenzij een submap een eigen htaccess-bestand heeft dat de regels overschrijft.

Hoe maak je een htaccess-bestand aan?

Een htaccess-bestand aanmaken is eenvoudig, maar er zijn enkele aandachtspunten:

Via een teksteditor

  1. Open een teksteditor — Gebruik Notepad++, VS Code of een andere editor (niet Word!)
  2. Maak een nieuw bestand — Begin met een leeg bestand
  3. Sla op als ".htaccess" — Let op: de bestandsnaam begint met een punt en heeft geen extensie
  4. Upload via FTP — Plaats het bestand in de map waar het van toepassing moet zijn

Via de bestandsbeheerder van je hosting

Veel webhostingproviders bieden een bestandsbeheerder aan in hun controlepaneel waarmee je het htaccess-bestand direct kunt bewerken. In cPanel vind je dit onder "File Manager".

Let op: het bestand is standaard verborgen. In cPanel moet je de optie "Show Hidden Files" inschakelen om het te kunnen zien.

De belangrijkste htaccess-regels uitgelegd

Hieronder behandelen we de meest gebruikte regels die je kunt toepassen in je configuratiebestand. Elke regel wordt uitgelegd met een werkend codevoorbeeld.

301 Redirects (permanente doorverwijzing)

Een 301-redirect vertelt zoekmachines dat een pagina permanent is verhuisd. Dit is belangrijk voor je SEO omdat de link-autoriteit wordt overgedragen naar de nieuwe URL.

Voorbeeldcode voor een enkele redirect:

Redirect 301 /oude-pagina.html /nieuwe-pagina.html

Voor complexere redirects gebruik je mod_rewrite:

RewriteEngine On
RewriteRule ^oude-pad/(.*)$ /nieuw-pad/$1 [R=301,L]

HTTPS afdwingen

Alle bezoekers automatisch doorsturen van HTTP naar HTTPS:

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

WWW toevoegen of verwijderen

Om altijd de www-versie te gebruiken:

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

Htaccess voor betere prestaties: caching en compressie

Een goed geconfigureerd htaccess-bestand kan de laadtijd van je website aanzienlijk verbeteren. Hier zijn de belangrijkste prestatie-optimalisaties:

Browser-caching instellen

Door browser-caching in te stellen hoeft de browser van je bezoeker niet bij elk bezoek alle bestanden opnieuw te downloaden:

# Cache instellen per bestandstype
<IfModule mod_expires.c>
ExpiresActive On
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"
ExpiresByType text/html "access plus 1 hour"
</IfModule>

GZIP-compressie activeren

Compressie verkleint de bestandsgrootte van je webpaginas met 60-80%, wat de laadtijd drastisch verbetert:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css application/javascript
AddOutputFilterByType DEFLATE application/json application/xml
</IfModule>
OptimalisatieVerwachte verbeteringMoeilijkheidsgraad
Browser-caching20-40% sneller bij terugkeerEenvoudig
GZIP-compressie60-80% kleinere bestandenEenvoudig
Keep-Alive10-20% snellere verbindingEenvoudig
ETags uitschakelenMinder onnodige verzoekenEenvoudig

Beveiliging verbeteren met htaccess

Het htaccess-bestand is ook een krachtig hulpmiddel voor de beveiliging van je website. Hier zijn de belangrijkste beveiligingsregels:

Directory listing uitschakelen

Voorkom dat bezoekers de inhoud van je mappen kunnen bekijken:

Options -Indexes

Toegang tot gevoelige bestanden blokkeren

Bescherm configuratiebestanden en andere gevoelige data:

# Blokkeer toegang tot .htaccess zelf
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>

# Blokkeer toegang tot wp-config.php (WordPress)
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

IP-adressen blokkeren

Blokkeer specifieke IP-adressen die ongewenst verkeer veroorzaken:

Order Allow,Deny
Deny from 192.168.1.100
Deny from 10.0.0.0/24
Allow from all

Voorkom dat andere websites je afbeeldingen direct inladen (wat je bandbreedte kost):

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

Aangepaste foutpaginas met htaccess instellen

Standaard foutpaginas zijn lelijk en niet behulpzaam. Met het htaccess-bestand kun je eigen foutpaginas instellen die passen bij je website-ontwerp:

ErrorDocument 400 /fouten/400.html
ErrorDocument 401 /fouten/401.html
ErrorDocument 403 /fouten/403.html
ErrorDocument 404 /fouten/404.html
ErrorDocument 500 /fouten/500.html
FoutcodeBetekenisVeelvoorkomende oorzaak
400Bad RequestOngeldig verzoek door de browser
401UnauthorizedAuthenticatie vereist
403ForbiddenToegang geweigerd door serverregels
404Not FoundPagina bestaat niet of is verwijderd
500Internal Server ErrorFout in serverconfiguatie of script

Htaccess en WordPress: specifieke toepassingen

WordPress maakt intensief gebruik van het htaccess-bestand voor de permalink-structuur. Het standaard WordPress htaccess-blok ziet er als volgt uit:

# 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

Plaats je eigen regels altijd boven of onder dit blok, nooit ertussenin. WordPress kan het blok overschrijven wanneer je permalink-instellingen wijzigt.

Veelgemaakte fouten in het htaccess-bestand

Een fout in je configuratiebestand kan je hele website onbereikbaar maken. Dit zijn de meest voorkomende fouten en hoe je ze vermijdt:

  • Typfouten in regels — Een enkele typfout kan een 500-fout veroorzaken. Controleer elke regel zorgvuldig
  • Oneindige redirect-loops — Conflicterende redirectregels kunnen een lus veroorzaken. Test altijd na wijzigingen
  • Geen backup — Maak altijd een kopie voordat je het bestand bewerkt
  • Verkeerde bestandsnaam — Het bestand moet exact ".htaccess" heten, zonder extensie
  • Regels in verkeerde volgorde — De volgorde van regels is belangrijk. Specifieke regels moeten voor algemene staan
  • Niet testen — Test je wijzigingen altijd in een testomgeving voordat je ze live zet

Htaccess vs. Nginx: wat als je geen Apache gebruikt?

Het htaccess-bestand werkt alleen op Apache-webservers. Als je webhosting Nginx gebruikt, heb je een andere aanpak nodig. Nginx leest geen htaccess-bestanden maar gebruikt een centraal configuratiebestand (nginx.conf).

De meeste functionaliteit van een htaccess-bestand is ook in Nginx beschikbaar, maar de syntax is compleet anders. Controleer bij je hostingprovider welke webserver wordt gebruikt.

Veelgestelde vragen over het htaccess-bestand

Kan ik meerdere configuratiebestanden hebben?

Ja, je kunt in elke map een eigen htaccess-bestand plaatsen. Regels in een submap-bestand hebben prioriteit boven regels in de hoofdmap.

Hoe test ik mijn dit bestand zonder mijn live site te breken?

Gebruik een testomgeving of staging-server. Je kunt ook de Apache-configuratie testen met het commando apachectl configtest als je servertoegang hebt.

Mijn site geeft een 500-fout na het bewerken van het bestand. Wat nu?

Herstel het originele bestand uit je backup. Als je geen backup hebt, hernoem of verwijder het htaccess-bestand via FTP of de bestandsbeheerder. Je site zou dan weer moeten werken.

Werkt dit configuratiebestand op alle hosting?

Alleen op Apache-webservers. De meeste shared hosting gebruikt Apache, maar controleer dit bij je provider. LiteSpeed-servers ondersteunen ook dit type configuratiebestanden.

Geavanceerde htaccess-technieken voor ervaren gebruikers

Naast de basistoepassingen biedt het configuratiebestand ook geavanceerde mogelijkheden voor ervaren webontwikkelaars en serverbeheerders. Deze technieken vereisen meer kennis maar kunnen een groot verschil maken voor de prestaties en beveiliging van je website.

Content Security Policy headers

Met security headers bescherm je je bezoekers tegen cross-site scripting (XSS) en andere aanvallen. Voeg deze headers toe aan je configuratiebestand:

<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Conditionale regels op basis van de browser

Je kunt specifieke regels toepassen op basis van de browser of het apparaat van de bezoeker. Dit is handig voor het serveren van geoptimaliseerde content aan verschillende gebruikers. Gebruik RewriteCond met de HTTP_USER_AGENT variabele om browserspecifieke regels te maken.

Rate limiting en brute-force bescherming

Bescherm je loginpagina tegen brute-force aanvallen door het aantal verzoeken per IP-adres te beperken. Dit is vooral belangrijk voor WordPress-sites waar de wp-login.php pagina vaak het doelwit is van geautomatiseerde aanvallen. Combineer dit met wachtwoordbeveiliging via het configuratiebestand voor een extra beveiligingslaag.

Omgevingsvariabelen instellen

Met SetEnv en SetEnvIf kun je omgevingsvariabelen instellen die door je applicatie kunnen worden gelezen. Dit is handig voor het configureren van verschillende instellingen per omgeving, zoals een onderscheid maken tussen productie en ontwikkeling.

Het htaccess-bestand is een onmisbaar hulpmiddel voor elke website-eigenaar. Van redirects en caching tot beveiliging en prestatie-optimalisatie — de mogelijkheden zijn eindeloos. Met de voorbeelden in dit artikel kun je direct aan de slag om je website sneller, veiliger en beter vindbaar te maken.

Vergeet niet altijd een backup te maken voordat je wijzigingen aanbrengt, en test nieuwe regels altijd in een testomgeving. Met een goed geconfigureerd htaccess-bestand haal je het maximale uit je webhosting en bied je je bezoekers de beste ervaring.

Wil je meer weten over hostingmogelijkheden en hoe je het maximale uit je serverconfiguatie haalt? Bekijk dan onze uitgebreide gids over webhosting waarin we alle aspecten van hosting behandelen, inclusief serverconfiguatie en prestatie-optimalisatie. Met de juiste combinatie van hosting en serverinstellingen bouw je een snelle, veilige en betrouwbare website.

Htaccess: Geavanceerde Redirects en URL-herschrijving

Een van de krachtigste toepassingen van het htaccess bestand is het herschrijven en doorverwijzen van URLs. Dit is essentieel voor SEO en gebruikerservaring.

301 Redirects voor SEO

Wanneer je de URL-structuur van je website wijzigt, moet je 301-redirects instellen om zoekmachines te informeren dat de pagina permanent is verhuisd. Zonder redirects verlies je de opgebouwde SEO-waarde van de oude URLs en krijgen bezoekers een 404-foutmelding. Een 301-redirect draagt het grootste deel van de linkwaarde over naar de nieuwe URL. Gebruik specifieke redirects per pagina in plaats van wildcard-regels voor de meest nauwkeurige doorverwijzing.

URL-herschrijving met mod_rewrite

De mod_rewrite module stelt je in staat om URLs te herschrijven zonder dat de bezoeker dit merkt. Hiermee maak je leesbare URLs die zowel gebruikers als zoekmachines waarderen. Een URL zoals jouwsite.nl/product.php?id=123 wordt herschreven naar jouwsite.nl/product/smartphone-hoesje. De RewriteRule directive in je htaccess bestand bepaalt hoe de URL wordt omgezet, terwijl RewriteCond voorwaarden stelt waaronder de regel wordt toegepast.

Veelgebruikte htaccess redirect-regels

DoelTypeToepassing
HTTP naar HTTPS301 redirectBeveiligde verbinding forceren
www naar non-www301 redirectCanonieke URL instellen
Oude URL naar nieuwe301 redirectNa siteherstructurering
Trailing slash toevoegen301 redirectURL-consistentie
Tijdelijke doorverwijzing302 redirectOnderhoudspagina

Htaccess: Beveiliging en Toegangscontrole

Het htaccess bestand is een krachtig hulpmiddel voor het beveiligen van je website en het beperken van ongeautoriseerde toegang tot gevoelige bestanden.

Directorybeveiliging

Bescherm gevoelige directories zoals je admin-panel, configuratiemappen en uploadmappen met wachtwoordbeveiliging via htaccess. Combineer dit met IP-restrictie om alleen specifieke IP-adressen toegang te geven tot beheerinterfaces. Blokkeer ook directory listing zodat bezoekers niet door je mappenstructuur kunnen bladeren. Deze eenvoudige maatregelen voorkomen dat onbevoegden toegang krijgen tot bestanden die niet voor publiek gebruik bedoeld zijn.

Hotlinking is het direct linken naar bestanden op jouw server vanuit andere websites, waardoor zij jouw bandbreedte verbruiken. Met htaccess kun je hotlink-bescherming instellen die alleen verzoeken toestaat van je eigen domein en vertrouwde bronnen zoals zoekmachines. Dit bespaart bandbreedte en serverresources. Stel een alternatieve afbeelding in die wordt getoond wanneer iemand probeert je bestanden te hotlinken.

Wil je meer weten over websitebeveiliging? Lees ons artikel over website beveiligen tips voor aanvullende beveiligingsmaatregelen.

Htaccess: Veelgestelde Vragen en Best Practices

Bij het werken met het htaccess bestand komen veel dezelfde vragen naar voren. Hieronder beantwoorden we de belangrijkste vragen en delen we best practices voor veilig gebruik.

Beinvloedt htaccess de websitesnelheid?

Ja, maar de impact kan zowel positief als negatief zijn. Goed geconfigureerde htaccess-regels voor caching en compressie verbeteren de snelheid aanzienlijk. Te veel of slecht geschreven regels kunnen de server vertragen omdat Apache het htaccess-bestand bij elk verzoek moet parsen. Voor websites met zeer hoog verkeer is het efficienter om regels direct in de Apache-configuratie te plaatsen in plaats van in htaccess, maar voor de meeste websites is de impact verwaarloosbaar.

Kan ik htaccess gebruiken op Nginx?

Nee, het htaccess-bestand is specifiek voor de Apache-webserver. Nginx gebruikt een ander configuratiesysteem via serverblokken in het nginx.conf-bestand. Als je overstapt van Apache naar Nginx, moet je je htaccess-regels vertalen naar de Nginx-syntax. Er bestaan online converters die de meest voorkomende regels automatisch kunnen vertalen, maar complexe configuraties vereisen handmatige aanpassing.

Best practices voor htaccess

  • Maak altijd een backup voordat je wijzigingen aanbrengt in het htaccess-bestand
  • Test elke wijziging direct door de website te laden in je browser na het opslaan
  • Voeg commentaar toe bij elke regel of blok zodat je later weet waarom een regel is toegevoegd
  • Houd het bestand compact door alleen noodzakelijke regels op te nemen
  • Gebruik specifieke regels in plaats van brede wildcards om onbedoelde effecten te voorkomen
  • Controleer op duplicaten omdat conflicterende regels onvoorspelbaar gedrag veroorzaken

Htaccess: Samenvatting en Essentiële Regels

Met de juiste kennis is het htaccess bestand een onmisbaar hulpmiddel voor het configureren van je website. Hier vatten we de essentiële regels samen die elke website zou moeten hebben.

Minimale htaccess-configuratie

Elke website die op een Apache-server draait zou minimaal de volgende configuraties in het htaccess-bestand moeten hebben. Een 301-redirect van HTTP naar HTTPS om alle bezoekers via een beveiligde verbinding te bedienen. Browser-caching headers voor statische bestanden om de laadsnelheid te verbeteren. GZIP-compressie voor tekstgebaseerde bestanden om de overdrachtsgrootte te verkleinen. Bescherming tegen directory listing om te voorkomen dat bezoekers door je mappenstructuur kunnen bladeren. Blokkering van toegang tot gevoelige bestanden zoals wp-config.php en .htaccess zelf.

Wanneer professionele hulp inschakelen

Hoewel veel htaccess-configuraties zelf uit te voeren zijn, zijn er situaties waarin professionele hulp verstandig is. Bij complexe URL-herschrijvingen voor grote websites met honderden paginas is een fout snel gemaakt. Bij het configureren van geavanceerde beveiligingsregels kan een verkeerde instelling je website onbereikbaar maken. Bij het oplossen van conflicten tussen htaccess-regels en CMS-configuraties is ervaring waardevol. Een webdeveloper of je hostingprovider kan je helpen bij deze complexere configuraties.

Htaccess: Geavanceerde Beveiligingsregels

Het htaccess bestand biedt krachtige mogelijkheden voor het beveiligen van je website op serverniveau. Met IP-gebaseerde toegangscontrole kun je specifieke IP-adressen blokkeren of juist alleen bepaalde adressen toegang geven tot gevoelige directories zoals het admin-paneel. Hotlink-bescherming voorkomt dat andere websites direct naar jouw afbeeldingen linken en zo je bandbreedte verbruiken. Stel aangepaste foutpaginas in via het htaccess-bestand zodat bezoekers die een niet-bestaande pagina bereiken een nuttige foutmelding zien met navigatie terug naar werkende paginas.

Htaccess en performance headers

Gebruik het htaccess-bestand om performance-gerelateerde HTTP-headers in te stellen. De Expires en Cache-Control headers bepalen hoe lang browsers bestanden lokaal mogen cachen. De Content-Security-Policy header beschermt tegen cross-site scripting aanvallen. De X-Content-Type-Options header voorkomt MIME-type sniffing. Door deze headers correct te configureren verbeter je zowel de prestaties als de beveiliging van je website zonder aanpassingen aan de applicatiecode.

Htaccess testen en debuggen

Fouten in het htaccess-bestand kunnen je hele website onbereikbaar maken. Test wijzigingen daarom altijd eerst in een staging-omgeving voordat je ze naar productie doorvoert. Gebruik online htaccess-testers om je regels te valideren zonder risico. Wanneer een fout optreedt, hernoem het htaccess-bestand tijdelijk om te controleren of het probleem daaraan gerelateerd is. Houd altijd een backup van het werkende htaccess-bestand bij de hand zodat je snel kunt terugvallen bij problemen.