Sådan laver du redirects med htaccess

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:

  1. Når du har flyttet din hjemmeside til en anden adresse.
  2. Når du har lavet om på filendelser (.html, .php eller .asp).
  3. Når du har fjernet en side fra din hjemmeside.
  4. 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 :D