Så er vi kommet til det andet indlæg i htaccess serien. I dag skal vi se på hvordan man laver redirects med hjælp fra htaccess.
Dette kan være 301 redirects eller 302 redirects.
Lad os lige gå igennem hvornår det kan være smart at bruge redirects:
- Når du har flyttet din hjemmeside til en anden adresse.
- Når du har lavet om på filendelser (.html, .php eller .asp).
- Når du har fjernet en side fra din hjemmeside.
- Hvis du ønsker at din side skal redirecte til enten www eller uden www
Nedenfor følger en lille forklaring til de to mest brugte redirects:
301 redirect - Denne bruges til at fortælle browseren af siden er flyttet. Samtidig fortælle den også søgemaskinerne at siden er flyttet permanent, og så opdatere søgemaskinerne deres søgeresultater så de passer på den nye side der linkes til.
302 redirect – Dene bruges til at fortælle browseren at siden er flytter. Den fortæller det samme til søgemaskinerne. MEN en 302 redirect er kun midlertidig, og derfor vil søgemaskinerne ikke opdatere deres søgeresultater. Denne kan f.eks bruges hvis du midlertidigt er nødt til at tage siden ned.
Nå, men lad os så se på nogle af de koder som kan benyttes til at redirecte med.
En til en redirect
Medmindre du har flere tusinde sider er denne metode den jeg vil anbefale. Så er du sikker på at alle URL’s bliver redirected korrekt:
Redirect 301 /gammelmappe/gammelfil.html http://eksempel.dk/nymappe/nyfil.html
Med eller uden www.
Hvis du ønsker at redirecte din side fra www.eksempel.dk til eksempel.dk så kan du bruge denne kode:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^eksempel.dk$ [NC]
RewriteRule ^(.*)$ http://eksempel.dk/$1 [L,R=301]
Hvis du derimod ønsker at redirecte fra eksempel.dk til www.eksempel.dk skal du bruge følgende kode:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.eksempel.dk$ [NC]
RewriteRule ^(.*)$ http://www.eksempel.dk/$1 [L,R=301]
Redirect en hel side.
Med den følgende kode kan du redirecte en helt side til et nyt domæne:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.eksempel.dk/$1 [R=301,L]
http:// til https://
Hvis din hjemmeside bruger sikker forbindelse (https) kan du med fordel altid redirecte dem til den sikre udgave med denne kode:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} enellerandenmappe
RewriteRule ^(.*)$ https://www.eksempel.dk/enellerandenmappe/$1 [R,L]
Fra .html til .php
Hvis du ønsker at redirecte dine .html sider til .php:
RewriteEngine on
RewriteRule ^(.*)\.html$ http://eksempel.dk/$1.php [R=301]
Det var alt for denne gang. Jeg håber du kunne bruge det til noget.
Som altid er du meget velkommen til at skrive en kommentar med spørgsmål eller hvad du nu lige lyster










Twitter Opdateringer

Hej,
Meget brugbar info!! Jeg har dog lige lidt spørgsmål. Kan man lave følgende redirect:
Redirect 301 http://hjemmeside.dk/side.asp http://hjemmeside.dk/side.php
I så fald vil page ranking følge med, eller skal man her bruge
RewriteEngine On
RewriteRule ^http://hjemmeside.dk/side.asp (.*)$ http://hjemmeside.dk/ [R=301,L]
Hej Troels, jeg beklager det sene svar. For at overfører så meget af ranking værdien som muligt, skal man lave en 301 redirect. Så begge dem du har forslået vil virke.
som f.eks:
Redirect 301 mingamleside.html http://eksempel.dk/minnyeside.html
Mvh. Michael