Redirect til hoveddomæne / www til ikke-www osv.

Det her er nok mest et lille indlæg til mig selv, så jeg ikke behøver skrive reglerne hver gang – men uanset hvad, så er det noget de fleste kommer til at kunne bruge i ny og næ 🙂

Ofte har jeg flere domæner koblet på det samme site, og for at det ikke skaber problemer med Duplicate Content osv., så gælder det om at få sine redirects sat op.

Hos DuGlemmerDetAldrig.dk, kører vi på et .NET-miljø (IIS), mens mine “private” sites normalt kører PHP (Apache). Det betyder, at jeg skal rode med både web.config og .htaccess redirects.

Som regel opsætter jeg bare en regel, der kigger om man er på “hoveddomænet”, og hvis ikke,  så laver jeg et 301-redirect dertil.

Men let’s get to it!

web.config (URL Rewriting 2.0)

<system.webServer>
   <rewrite>
      <rules>
         <rule name="redirect to main domain" stopProcessing="true">
            <match url="^(.*)$"/>
            <conditions>
               <add input="{HTTP_HOST}" pattern="^lars.io" negate="true" />
            </conditions>
            <action type="Redirect" redirectType="Permanent" url="http://lars.io/{R:1}"/>
         </rule>
      </rules>
   </rewrite>
</system.webServer>

.htaccess (mod_rewrite)

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{HTTP_HOST} !^lars\.io$
   RewriteRule (.*) http://lars.io/$1 [R=301,L]
</IfModule>

De to rewrite-regler gør egentlig det samme. Checker om domænet er korrekt, og hvis ikke, så 301-redirecter den til det rigtige domæne – altså fx:

larsdanielrasmussen.dk -> lars.io
larsdanielrasmussen.dk/test -> lars.io/test

Husk at domænet skal ændres 2 steder i begge rewrite-regler 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.