Hvordan fungerer domæneomdirigeringer?
Der findes mange muligheder for at omdirigere domæner eller underdomæner til en anden del af din hjemmeside eller til en ekstern adresse. Omdirigeringer foretages ofte via .htaccess, PHP-script, HTML-metatags og JavaScript.
Hvad bruges domæneomdirigeringer til?
Omdirigeringer bruges til at informere servere om, at indholdet på et websted er blevet flyttet fra en URL til en anden. Dette er nødvendigt, når den oprindelige webadresse er målet for et indgående link, er gemt på en brugers computer eller indtager en fremtrædende placering på søgemaskinens resultatsider (SERP’er). I dette tilfælde meddeler omdirigeringen browseren eller webcrawleren, at indholdet er blevet flyttet, og giver brugeren et link til den nye adresse i stedet. Uden omdirigeringer ville besøgende på webstedet støde på en 404-fejlside i stedet for det websted, de søger efter.
Dette er noget, som især kommercielle webprojekter gerne vil undgå. Webshops tilbyder et sortiment, der hele tiden ændrer sig, og som vises på en lang række forskellige websider. Når en vare ikke længere er på lager, omdirigeres potentielle kunder til en side med lignende produkter. På den måde kan du effektivt styre besøgsstrømmene og minimere afvisningsprocenten.
Når du opretter en domæneomdirigering, kan du også gøre det samme indhold tilgængeligt på forskellige webadresser. Alle alternative adresser omdirigeres ganske enkelt til det ønskede webstedsdomæne, uanset hvilken specifik URL eller sti brugerne indtaster.
Hvilke typer domæneomdirigeringer findes der?
Der skelnes generelt mellem omdirigeringer på klientsiden og på serversiden. Ved domæneomdirigeringer på serversiden overføres de tilhørende HTTP-statuskoder til brugeragenter (browsere eller webcrawlere). Det ser lidt anderledes ud, når det drejer sig om omdirigeringer på klientsiden. Disse udføres uden nogen form for svar, hvilket betyder, at der ikke udsendes nogen statuskoder. Derfor understøttes sidstnævnte ikke af alle brugeragenter. Denne ulempe kan undertiden føre til situationer, hvor besøgende forbliver på den oprindelige side og ikke videresendes nogen steder. Ulemper som disse er årsagen til, at server-side-løsningen ofte foretrækkes til omdirigeringer. Client-side-løsninger bør kun bruges, når server-side-domæneomdirigeringer er udelukket af tekniske årsager.
En anden type domæneomdirigering er den transparente eller usynlige omdirigering. Ved denne type omdirigering ændres URL-adressen ikke. Når det drejer sig om domæneomdirigeringer med maskering, ændres den URL, der vises for brugeren, ikke, selvom klienten er blevet videresendt til et andet domæne og får vist indholdet af en anden webside. Da denne type videresendelse imidlertid kan medføre problemer med indeksering og den måde, URL’en vises på i browseren, anbefales den ikke, medmindre der er visse begrænsninger på plads.
Vil du oprette en domæneomdirigering? I den følgende artikel fra IONOS’ hjælpecenter kan du læse en trinvis vejledning i, hvordan du omdirigerer dit domæne til et andet domæne.
Omdirigeringer på serversiden
I de fleste tilfælde foretages domæneomdirigeringer på serversiden via konfigurationsfilen .htaccess eller et PHP-script. Disse metoder gør det muligt at angive individuelt, hvilken HTTP-statuskode der skal vises til brugeragenten. Dette giver webstedsadministratorer mulighed for at markere domæneomdirigeringer som enten permanente eller midlertidige. Til dette formål anvendes HTTP-statuskoderne 301 og 302.
- 301 – Flyttet permanent: Den anmodede ressource er nu permanent tilgængelig under den omdirigerede URL. Den gamle URL vil fra nu af være ugyldig. Her er en 301-omdirigering påkrævet.
- 302 – Flyttet midlertidigt: Den anmodede ressource er tilgængelig under den omdirigerede URL. I modsætning til 301-koden forbliver den oprindelige URL stadig gyldig.
Hvis HTTP-statuskoden ikke er angivet eksplicit, returnerer webserveren statuskode 302 ved en omdirigering på serversiden. Dette er ikke altid nødvendigt, så det er bedst at indtaste den ønskede statuskode manuelt for hver omdirigering, da dette mindsker risikoen for indekseringsfejl, såsom URL-kapring. I modsætning til 301-omdirigeringen informerer 302-statuskoden webcrawlere om, at den oprindelige URL skal forblive indekseret. Hvis dette er ment som en permanent ændring, konkurrerer omdirigeringsadressen med omdirigeringsdestinationen i søgemaskinens indeks.
.htaccess-omdirigering
.htaccess er en konfigurationsfil til Apache-webservere. Den bruges til at tilsidesætte overordnede indstillinger på katalogniveau. Denne fil giver webstedsadministratorer mulighed for at foretage katalogspecifikke indstillinger for domæner og deres underkataloger. En af funktionerne i .htaccess-filen er serverbaserede domæneomdirigeringer af enkelte adresser til andre URL’er.
Du kan oprette en domæneomdirigering ved hjælp af kode i .htaccess-filen. Når en .htaccess-fil med følgende kode er placeret i hovedmappen, omdirigeres anmodninger til det oprindelige domæne på serversiden til domænet www.example.com:
Redirect 301 / http://www.example.com/apacheconfDenne kodelinje starter med redirect 301 og angiver, hvilken HTTP-statuskode serveren skal returnere. Herefter følger stien til det indhold, der skal omdirigeres. I ovenstående eksempel omdirigeres alt indholdet. Det sidste trin udføres, når den fulde destinations-URL omdirigeres til brugeragentens URL: http://www.example.com.
Denne metode gør det muligt at omdirigere enkelte filer. Følgende kode viser en .htaccess-omdirigering fra et websted til et andet:
Redirect 301 /directory/example-document.html http://www.example.com/example.htmlapacheconfNår HTTP-statuskode 301 er håndteret, angives filens sti (/directory/example-document.html), som skal omdirigeres permanent, samt omdirigerings-URL’en (http://www.example.com/example.html).
Sådan vil den permanente omdirigering se ud på en Apache-server med et aktivt mod_rewrite-modul:
RewriteEngine On
RewriteRule ^directory/example-document.html$ http://www.example.com/example.html [L,R=301]apacheconfI kodelinje 01 aktiveres Apache-webserverens mod_rewrite-modul med kommandoen RewriteEngine On. Herefter følger RewriteRule med stien til omdirigeringsfilen og destinationsadressen. Caret- og dollartegn markerer henholdsvis begyndelsen og slutningen af stien, og L angiver den sidste mod_rewrite-regel for den pågældende anmodning. R=301 returnerer HTTP-status 301.
Når man konfigurerer en domæneomdirigering via .htaccess, er det vigtigt at huske, at forkerte indtastninger kan få alvorlige konsekvenser for hjemmesidens drift. Da disse ændringer træder i kraft umiddelbart efter, at man har gemt .htaccess-filen, bør konfigurationerne altid testes grundigt.
PHP-omdirigeringer
En domæneomdirigering kan ikke kun foretages via en .htaccess-konfiguration, men også gennem en kommando i et PHP-script (f.eks. i index.php). Følgende kode viser en permanent omdirigering til den fiktive destinations-URL, www.example.com:
<?php
header("Status: 301 Moved Permanently");
header("Location: http://www.example.com");
exit;
?>phpVed videresendelse via et PHP-script defineres den ønskede HTTP-statuskode via funktionen header i den anden kodelinje. I dette eksempel skal der foretages en permanent 301-omdirigering. Da omdirigeringer på serversiden normalt udføres midlertidigt, skal der tages aktive skridt til at gennemføre permanente omdirigeringer via 301-statuskoden. Ved permanente omdirigeringer registreres domæneomdirigeringens destinationsadresse også med header. Omdirigeringen i dette eksempel går derefter til adressen http://www.example.com. Funktionen exit i linje 04 i koden afslutter scriptet og forhindrer, at en efterfølgende kodelinje udføres. For at omdirigeringer kan fungere via PHP-script, skal kodeblokken være i begyndelsen af HTML-siden. Dette forhindrer serveren i at overføre HTML-indhold til omdirigeringssiden.
Omdirigeringer på klientsiden
Hvis det af tekniske årsager ikke er muligt at gennemføre en domæneomdirigering på serversiden, har webstedsoperatører mulighed for at anvende løsninger på klientsiden. Til dette formål kan man benytte HTML-metatagget refresh samt JavaScript. Ulempen ved omdirigeringer på klientsiden er, at serverne ikke sender HTTP-statuskoder til de anmodende browsere eller webcrawlere, hvilket betyder, at disse ikke udtrykkeligt informeres om omdirigeringen. Desuden understøttes klientside-omdirigeringer ikke af alle brugeragenter, hvilket betyder, at der er en risiko for, at ikke alle besøgende på websiden bliver omdirigeret.
Omdirigeringer på klientsiden har en negativ indvirkning på søgemaskinernes indeksering. En eksplicit udelukkelse fra indeksering via HTTP-statuskode 301 finder ikke sted ved omdirigeringer på klientsiden. Dette kan føre til, at omdirigeringsdomænerne konkurrerer med måldomænerne, når det gælder placeringen i søgemaskinerne. I modsætning til omdirigeringer på serversiden, som stort set forbliver usynlige for brugerne, er omdirigeringer på klientsiden altid forbundet med forsinkelser, som nogle brugere kan ende med at lægge mærke til.
Videresendelse via HTML-meta-refresh
HTML-metaomdirigeringer implementeres via metatags med attributten http-equiv. Det eneste, der kræves, er en simpel HTML-fil og et tilhørende tag i headeren til at oprette omdirigeringer. For at besøgende på din hjemmeside bliver informeret om omdirigeringen, bør der indsættes en passende meddelelse i HTML-dokumentet. Typiske eksempler er linjer som »Vent venligst et øjeblik. Du bliver omdirigeret…«. En simpel domæneomdirigering via HTML-meta-refresh ser således ud:
<meta http-equiv="refresh" content="10; url=http://www.example.com/">htmlBrugeren bliver bedt om at omdirigere domænet via metatagget http-equiv="refresh". Hvordan dette skal foregå, kan angives i attributten »content«. I eksemplet omdirigeres brugerne til måldomænet www.example.com efter ti sekunder.
JavaScript-omdirigeringer
JavaScript giver en nem mulighed for domæneomdirigeringer på klientsiden. Ligesom det er tilfældet med meta-tagget refresh, bør JavaScript-omdirigeringer dog kun anvendes i enkelte tilfælde, da dette scriptbaserede sprog ikke understøttes af alle webbrowsere af sikkerhedsmæssige årsager. JavaScript kan også skabe problemer for webcrawlere og brugere med aktive NoScript-udvidelser. Sådan ser koden ud for en domæneomdirigering via JavaScript:
<script>
window.location.replace('http://www.example.com');
</script>htmlDet vigtigste her er den tredje kodelinje. I eksempelkoden bruges objektet window.location til at henvise til den aktuelle webadresse. Kommandoen replace instruerer browseren om at omdirigere brugeren til det domæne, der er angivet i parenteserne: www.example.com.