- Wat is .htaccess?
- .htaccess voorbeelden
- Gebruikers doorverwijzen naar een specifieke foutpagina
- Een aangepaste header en waarde toevoegen
- Blokkeren van gebruikers op basis van IP
- Blocken van verwijzers (hotlink bescherming)
- MIME types toevoegen
- Browser caching
- Gzip inschakelen
- Het uitschakelen van HTTP-verzoekmethoden
- Performing 301 redirects
- CORS inschakelen
Wat is .htaccess?
Het .htaccess
-bestand (ook bekend als het Hypertext Access-bestand) wordt gebruikt om specifieke configuraties te definiëren voor webservers die op Apache draaien. Dit configuratiebestand heeft invloed op de directory waarin het is opgeslagen en op alle subdirectories in die directory. Als het bestand .htaccess
bijvoorbeeld in de hoofddirectory staat, heeft het invloed op de hele site. Aan de andere kant, als het bestand zich in een specifieke directory bevindt, zal het alleen invloed hebben op die directory en alle subdirectories daarbinnen.
Sommige CMS-platforms zoals WordPress en Drupal komen ook met .htaccess
-bestanden waarmee u bepaalde configuraties kunt opgeven die alleen van toepassing zijn op die site. Het .htaccess
bestand kan worden gebruikt om een verscheidenheid van dingen te bereiken, waaronder:
- Het uitvoeren van redirects
- Foutpagina’s aanpassen
- Het beperken van gebruikers op basis van IP
- Het toevoegen van MIME types
- Het instellen van HTTP headers
- Het beveiligen van bepaalde mappen met een wachtwoord
Het .htaccess
bestand kan worden gebruikt om nog veel meer te bereiken, maar de bovenstaande lijst is een van de meest populaire toepassingen van .htaccess
. De sectie hieronder zal verschillende .htaccess
voorbeelden schetsen en hoe ze kunnen worden gebruikt binnen uw eigen site.
.htaccess voorbeelden
Er zijn een enorme hoeveelheid configuratie mogelijkheden die kunnen worden bereikt binnen het .htaccess
bestand. De lijst hieronder is een aantal van de meest gebruikte voorbeelden.
Gebruikers doorverwijzen naar een specifieke foutpagina
Gebaseerd op de statuscode die een bepaald bestand of pagina retourneert, kunt u de gebruiker doorverwijzen naar een aangepaste foutpagina. Het voorbeeld hieronder toont een paar variaties die u kunt gebruiken. Elke variant is afhankelijk van de statuscode die wordt geretourneerd.
ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html
Een aangepaste header en waarde toevoegen
Een aangepaste HTTP-header kan ook worden toegevoegd via het .htaccess
-bestand. Er zijn een paar syntax opties, zoals set
die elke vorige header met dezelfde naam zal vervangen, add
die de header zal toevoegen zelfs als er een andere met dezelfde naam bestaat. Bezoek Apache’s page header guide voor meer informatie.
Header set X-Custom "Custom Value"
In het bovenstaande voorbeeld komt de X-Custom
tekst overeen met de HTTP header die zal worden geretourneerd in de HTTP response terwijl de Custom Value
tekst overeenkomt met de waarde voor deze specifieke header.
Blokkeren van gebruikers op basis van IP
Voor veiligheidsdoeleinden kunt u gebruikers blokkeren op basis van hun IP binnen het .htaccess
bestand. In het onderstaande voorbeeld zijn er twee IP’s die geblokkeerd worden. We kunnen ook besluiten om het laatste cijfer van het IP-adres niet op te nemen, wat zal resulteren in alle IP’s die de eerste drie cijfers bevatten worden geblokkeerd.
order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all
Blocken van verwijzers (hotlink bescherming)
Het blokkeren van verwijzers, ook wel bekend als hotlink bescherming, is een methode die wordt gebruikt om bepaalde verwijzers te blokkeren van het verwijzen naar de activa van uw website en dus het stelen van uw bandbreedte. Gebruik de onderstaande snippet om te definiëren welke domeinen niet naar uw content mogen verwijzen en dus een 403 Forbidden
foutmelding krijgen.
RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* -
Een soortgelijke functionaliteit kan ook worden bereikt via het KeyCDN dashboard. Om te leren hoe u hotlink bescherming kunt implementeren in uw KeyCDN Zone, bezoek onze Zone Verwijzers gids.
MIME types toevoegen
MIME types definiëren waar een bepaalde bestandsextensie naar verwijst. Daarom is het soms nodig om dit in uw .htaccess
bestand in te stellen om de webserver te informeren naar welk type bestand u verwijst. Een volledige lijst van MIME types vindt u op de MIME Types List.
AddType image/gif .gif .GIF
Browser caching
Het .htaccess
bestand kan ook worden gebruikt om de prestaties van websites te verbeteren door gebruik te maken van browser caching. Elk bestandstype kan worden gedefinieerd met een bepaalde expires waarde. U kunt een aangepaste lijst van bestandstypen definiëren en elk van hun verloopwaarden wijzigen, maar het volgende knipsel is een goed uitgangspunt.
## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##
Gzip inschakelen
Het inschakelen van Gzip op uw origin server helpt de prestaties van uw assets te verbeteren, omdat ze worden gecomprimeerd en dus sneller kunnen worden afgeleverd. U kunt een aangepaste lijst van MIME-types definiëren die moeten worden Gzipt, maar het onderstaande voorbeeld is een goed uitgangspunt. Voor meer informatie over de voordelen van Gzip en hoe het werkt, leest u ons artikel Gzip compressie inschakelen.
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>
Het uitschakelen van HTTP-verzoekmethoden
Er zijn verschillende HTTP-verzoekmethoden die worden gebruikt voor het bereiken van verschillende uitkomsten. Als er bepaalde HTTP-methoden zijn waarvan u niet wilt dat een gebruiker ze op uw website gebruikt, kunt u ze weigeren met .htaccess
.
RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* -
Performing 301 redirects
Als u een 301
redirect moet uitvoeren voor een pagina die is verplaatst, kan dit eenvoudig worden bereikt met .htaccess
. Gebruik gewoon de onderstaande snippet die de eerste URL (oude link) neemt en doorstuurt naar de tweede URL (nieuwe link).
Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page
CORS inschakelen
Het inschakelen van CORS is cruciaal voor het leveren van statische activa over verschillende oorsprongen. Het volgende knipsel kan aan uw .htaccess
bestand worden toegevoegd om alle origins in staat te stellen bronnen te delen. Als dit niet is ingeschakeld en je bron vraagt bronnen aan van een andere bron, krijg je een CORS-foutmelding. Lees meer over CORS in ons Hoe CORS te gebruiken artikel.
<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>
De bovenstaande .htaccess
voorbeelden zijn een goed startpunt voor diegenen die nog niet bekend zijn met het gebruik van .htaccess
, maar toch bepaalde webserver configuraties willen uitvoeren. Het .htaccess
bestand heeft de mogelijkheid om een scala aan taken uit te voeren en is vrij flexibel om aan de behoeften van uw website te voldoen. Hoewel deze .htaccess
voorbeelden een goed startpunt zijn, wilt u misschien wat meer geavanceerde .htaccess
configuraties uitvoeren. Voor meer over dit onderwerp kunt u AskApache’s .htaccess
bestand gids artikel bekijken.