- Hvad er .htaccess?
- .htaccess-eksempler
- Omdiriger brugere til en bestemt fejlside
- Tilføjelse af en brugerdefineret header og værdi
- Blokering af brugere baseret på IP
- Blokering af henvisere (hotlink-beskyttelse)
- Tilføjelse af MIME-typer
- Hjælp browsercaching
- Aktivering af Gzip
- Det er muligt at afvise HTTP-anmodningsmetoder
- Udførelse af 301-omdirigeringer
- Aktivering af CORS
Hvad er .htaccess?
Den .htaccess
fil (også kendt som Hypertext Access-fil) bruges til at definere specifikke konfigurationer for webservere, der kører på Apache. Denne konfigurationsfil påvirker den mappe, som den er gemt i, samt alle undermapper i den pågældende mappe. Hvis .htaccess
-filen f.eks. er placeret i din rodmappe, påvirker den hele webstedet. Hvis filen derimod er placeret i en bestemt mappe, vil den kun påvirke denne mappe og alle undermapper inden for den.
Som nogle CMS-platforme såsom WordPress og Drupal leveres også med .htaccess
-filer, så du kan angive visse konfigurationer, som kun gælder for det pågældende websted. .htaccess
-filen kan bruges til at opnå en række forskellige ting, herunder:
- Udføre omdirigeringer
- Anpassning af fejlsider
- Begrænsning af brugere baseret på IP
- Indførelse af MIME-typer
- Indstilling af HTTP-headers
- Password-beskyttelse af visse mapper
Den .htaccess
-fil kan bruges til at opnå meget mere, men ovenstående liste er blandt de mest populære anvendelser af .htaccess
. I afsnittet nedenfor beskrives forskellige .htaccess
-eksempler, og hvordan de kan bruges på dit eget websted.
.htaccess-eksempler
Der er et stort antal konfigurationsmuligheder, der kan opnås i .htaccess
-filen. Listen nedenfor er et par af de mest almindeligt anvendte eksempler.
Omdiriger brugere til en bestemt fejlside
Baseret på den statuskode, som en bestemt fil eller side returnerer, kan du omdirigere brugeren til en brugerdefineret fejlside. Eksemplet nedenfor viser et par variationer, som du kan bruge. De er hver især afhængige af den statuskode, der returneres.
ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html
Tilføjelse af en brugerdefineret header og værdi
Brugerdefinerede HTTP-headere kan også tilføjes via .htaccess
-filen. Der er nogle få syntaksindstillinger, f.eks. set
, som erstatter enhver tidligere header med samme navn, add
, som tilføjer headeren, selv om der findes en anden med samme navn. Besøg Apaches sideheader-guide for at få mere at vide.
Header set X-Custom "Custom Value"
I ovenstående eksempel svarer X-Custom
-teksten til den HTTP-header, der vil blive returneret i HTTP-svaret, mens Custom Value
-teksten svarer til værdien for denne særlige header.
Blokering af brugere baseret på IP
Formål af sikkerhedshensyn kan du blokere brugere baseret på deres IP i .htaccess
-filen. I eksemplet nedenfor er der to IP’er, der er blokeret. Vi kan også beslutte ikke at medtage det sidste ciffer i IP-adressen, hvilket vil resultere i, at alle IP’er, der indeholder de første tre cifre, bliver blokeret.
order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all
Blokering af henvisere (hotlink-beskyttelse)
Blokering af henvisere, også kendt som hotlink-beskyttelse, er en metode, der bruges til at blokere visse henvisere fra at henvise til dit websteds aktiver og dermed stjæle din båndbredde. Brug nedenstående snippet til at definere, hvilke domæner der ikke må henvise til dit indhold, og dermed vil de modtage en 403 Forbidden
-fejl.
RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* -
Samme funktionalitet kan også opnås via KeyCDN-dashboardet. Hvis du vil vide, hvordan du implementerer hotlinkbeskyttelse i din KeyCDN-zone, kan du besøge vores guide til Zone Referrers.
Tilføjelse af MIME-typer
MIME-typer definerer, hvad en bestemt filudvidelse refererer til. Derfor er det nogle gange nødvendigt at angive dette i din .htaccess
-fil for at informere webserveren om, hvilken filtype du refererer til. Du kan se en komplet liste over MIME-typer på listen over MIME-typer.
AddType image/gif .gif .GIF
Hjælp browsercaching
Den .htaccess
-fil kan også bruges til at hjælpe med at forbedre webstedets ydeevne ved at udnytte browsercaching. Hver filtype kan defineres med en bestemt expires-værdi. Du kan definere en brugerdefineret liste over filtyper og ændre hver af deres expires-værdi, men følgende uddrag er et godt udgangspunkt.
## 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 ##
Aktivering af Gzip
Aktivering af Gzip på din origin-server hjælper med at forbedre ydelsen for dine aktiver, da de komprimeres og dermed kan leveres hurtigere. Du kan definere en brugerdefineret liste over MIME-typer, der skal Gzippes, men eksemplet nedenfor er et godt udgangspunkt. Hvis du vil vide mere om fordelene ved Gzip, og hvordan det fungerer, kan du læse vores artikel Aktiver Gzip-komprimering.
<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>
Det er muligt at afvise HTTP-anmodningsmetoder
Der er flere HTTP-anmodningsmetoder, der bruges til at opnå forskellige resultater. Hvis der er visse HTTP-metoder, som du ikke ønsker, at en bruger skal anvende på dit websted, kan du afvise dem med .htaccess
.
RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* -
Udførelse af 301-omdirigeringer
Hvis du har brug for at udføre en 301
-omdirigering for en side, der er flyttet, kan dette nemt opnås med .htaccess
. Du skal blot bruge nedenstående uddrag, som tager den første URL (gammelt link) og omdirigerer den til den anden URL (nyt link).
Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page
Aktivering af CORS
Aktivering af CORS er afgørende for levering af statiske aktiver på tværs af forskellige oprindelser. Følgende snippet kan tilføjes til din .htaccess
-fil for at tillade alle origins at dele ressourcer. Hvis dette ikke er aktiveret, og din oprindelse anmoder om ressourcer fra en anden oprindelse, vil du ellers modtage en CORS-fejl, hvis dette ikke er aktiveret. Læs mere om CORS i vores artikel Sådan bruger du CORS.
<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 ovenstående .htaccess
-eksempler er et godt udgangspunkt for dem, der endnu ikke er fortrolige med at bruge .htaccess
, men som stadig ønsker at udføre visse webserverkonfigurationer. .htaccess
-filen har mulighed for at udføre en lang række opgaver og er ganske fleksibel, så den passer til dit websteds behov. Selv om disse .htaccess
-eksempler er et godt udgangspunkt, kan det være, at du ønsker at udføre nogle mere avancerede .htaccess
-konfigurationer. Hvis du vil vide mere om dette emne, kan du overveje at tjekke AskApaches artikel om .htaccess
-filguide.