Het .htaccess-bestand (HyperText Access) is een configuratiebestand dat meestal is opgeslagen in de root
van een website, met de extensie .htaccess. Een eigen naam heeft het .htaccess-bestand niet.
Feitelijk is het een configuratiebestand dat de server vertelt hoe om te gaan met de data die erin en eruit gaat. Er zijn een paar dingen
om op te letten voordat je begint met een .htaccess-bestand. Foutieve informatie in het .htaccess-bestand kan ervoor zorgen dat de website
volledig onbereikbaar wordt.
Normaal gesproken is het .htaccess-bestand opgeslagen in de root van de webserver (meestal: "/www/"). Toch is dit geen vereiste.
Het .htaccess-bestand kan in elke map geplaatst worden. In dat geval overrulet het de .htaccess in de root. Dit is in de meeste gevallen
overbodig; één .htaccess-bestand in de root volstaat meestal. Houd er ook rekening mee dat het .htaccess-bestand bij sommige hostingbedrijven
niet wordt ondersteund. Informeer hierover bij je hostingprovider.
Een .htaccess-bestand maken is relatief eenvoudig. Omdat het bestand puur uit tekst bestaat, is een simpel kladblok voldoende. Hierin zet je de verschillende instellingen, waarna je het bestand opslaat als .htaccess. Voor zoekmachineoptimalisatie biedt het .htaccess-bestand een aantal handige mogelijkheden. Maak bij het aanpassen van de .htaccess altijd een back-up, want één kleine typefout kan de website al onbereikbaar maken.
Lees verderDit zijn een aantal mogelijke instellingen in het .htaccess-bestand, maar lang niet allemaal. Ze zijn echter wel belangrijk voor de
zoekmachineoptimalisatie (SEO) van de website. Pas altijd het domein (jouwdomein.nl) aan naar je eigen URL. Maak bovendien
eerst een back-up van je .htaccess
-bestand voor je wijzigingen doorvoert.
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
Veelvoorkomende foutmeldingen worden doorgestuurd naar het bestand 404.html. Dit is met name belangrijk voor een goede gebruikerservaring en SEO: foutpagina’s kunnen bezoekers vasthouden en bieden de mogelijkheid tot navigatie in plaats van een blanco scherm.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript application/javascript
AddOutputFilterByType DEFLATE application/json
</IfModule>
Deze instelling comprimeert je websitebestanden voordat ze naar de browser worden verzonden. Hierdoor laadt je website sneller, wat beter is voor gebruikers én zoekmachines.
FileETag MTime Size
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 4 hours"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresDefault "access plus 1 hour"
Met caching worden bestanden lokaal opgeslagen bij de bezoeker. Hierdoor worden herhaalde bezoeken sneller geladen, wat zowel de gebruikerservaring als je SEO-prestaties ten goede komt.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.jouwdomein\.nl [NC]
RewriteRule ^(.*)$ https://www.jouwdomein.nl/$1 [L,R=301]
Deze redirect zorgt ervoor dat alle bezoekers automatisch doorgestuurd worden naar de www
-versie van je site. Dit voorkomt duplicate content (twee versies van dezelfde pagina) en versterkt je domein consistentie.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
HTTPS is essentieel voor moderne websites. Niet alleen verhoogt het de veiligheid, maar Google geeft ook de voorkeur aan beveiligde sites in de zoekresultaten.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/?$ $1.php [L]
Hiermee kun je bijvoorbeeld /over
gebruiken in plaats van /over.php
. Dit ziet er professioneler uit en is beter leesbaar voor zowel gebruikers als zoekmachines.
Redirect 301 /oud-pad.html /nieuw-pad/
Gebruik dit als je pagina’s hebt verplaatst of hernoemd. Een 301-redirect vertelt zoekmachines dat de inhoud permanent is verplaatst, waardoor je SEO-waarde behouden blijft.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?jouwdomein\.nl [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
Voorkom dat andere websites jouw afbeeldingen gebruiken (zgn. hotlinking). Dit beschermt je bandbreedte en voorkomt SEO-duplicatie van afbeeldingen.
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>
Deze header beschermt bezoekers tegen eenvoudige cross-site scripting (XSS)-aanvallen. Niet alle browsers ondersteunen dit, maar het is een extra beveiligingslaag.
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
Als je fonts of scripts vanaf je server op andere domeinen wilt gebruiken, is een CORS-header nodig. Let op: gebruik *
alleen als je geen gevoelige gegevens verwerkt.