Avatar billede thb Nybegynder
05. juli 2006 - 15:51 Der er 8 kommentarer og
1 løsning

301-direct af flere domæner

Vi skal lave en 301-redirect af flere forskellige domæner til 1 hoveddomæne.

Lad os sige, at f.eks. www.eksempel-1.dk, www.eksempel-2.dk og www.eksempel-3.dk alle skal lave en 301-redirect til www.eksempel.dk.  Det, vi har brug for er et redirect-script, hvor ét domæne skal redirectes til ét sted og andet domæne skal redirectes til et andet sted.

Vi har prøvet følgende script, som skal ligge på en IIS 6.0-server, men det virker ikke. Nogen forslag til hvorfor - og er der evt. en smartere måde at gøre det på?

<% @ Language=VBScript %>
<%
Response.Buffer = True
Response.Expires = 0
Response.AddHeader "Pragma","no-store"

if (request.servervariables("SERVER_NAME") = "1.dk" or
request.servervariables("SERVER_NAME") = "www.1.dk") then Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.2.dk Response.End

elseif (request.servervariables("SERVER_NAME") = "3.dk" or
request.servervariables("SERVER_NAME") = "www.3.dk") then Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.4.dk Response.End

%>
Avatar billede arne_v Ekspert
06. juli 2006 - 01:57 #1
Det ligner mere ASP end ASP.NET !

Men skal

Response.Status =

og

Response.AddHeader

ikke bundles i en

If ... Then

End If

?
Avatar billede thb Nybegynder
06. juli 2006 - 14:36 #2
Hej Arne,
Tak for svaret!

Hvis jeg skal lave en løsning, som skal ligge på en IIS 6.0-server, kan jeg så bruge asp eller skal det være asp.net?

Jeg er ikke helt med på, hvordan du vil ændre ovenstående kode?
Avatar billede arne_v Ekspert
07. juli 2006 - 04:24 #3
ASP virker ihvertfald

ASP.NET virker sikkert også (IIS 6.0 indikerer Win2003 som shipper med .NET)
Avatar billede arne_v Ekspert
07. juli 2006 - 04:26 #4
jeg har ikke testet men:

<% @ Language=VBScript %>
<%
Response.Buffer = True
Response.Expires = 0
Response.AddHeader "Pragma","no-store"

if (request.servervariables("SERVER_NAME") = "1.dk" or request.servervariables("SERVER_NAME") = "www.1.dk") then
    Response.Status = "301 Moved Permanently"
    Response.AddHeader "Location", "http://www.2.dk Response.End
elseif (request.servervariables("SERVER_NAME") = "3.dk" or request.servervariables("SERVER_NAME") = "www.3.dk") then
    Response.Status = "301 Moved Permanently"
    Response.AddHeader "Location", "http://www.4.dk Response.End
end if

%>
Avatar billede arne_v Ekspert
07. juli 2006 - 04:26 #5
og det sidste then skal være ude sidst i linien ovenover
Avatar billede thb Nybegynder
10. juli 2006 - 14:45 #6
Hej Arne,
Ok, lige et sidste spørgsmål. Hvad gør man i tilfælde af, at man har et domæne på serveren, som IKKE skal redirects. Så bliver man vel stadig nødt til at nævne domænet i scriptet, men man kan jo ikke redirecte det til sig selv?

Eller findes der en måde, hvorpå man kan sige, at hvis domænet ikke bliver fundet i scriptet, så skal der ikke ske en redirect?
Avatar billede arne_v Ekspert
11. juli 2006 - 03:05 #7
de domains som ikke går i en if block forårsager jo ikke en redirect
så vises siden med det det kommer nedenfor den script sektion
Avatar billede overload.dk Nybegynder
05. august 2006 - 11:06 #8
<%@ Page Language="C#" debug="false" %>
<%
    string reqHost = Request.Url.Host;
    string fwdTo = "";
   
    switch(reqHost.Replace("www.",""))
    {
        case "eksempel-1.dk":
            fwdTo = "http://www.eksempel.dk";
            break;

        case "eksempel-2.dk":
            fwdTo = "http://www.eksempel.dk";
            break;

        case "eksempel-3.dk":
            fwdTo = "http://www.eksempel.dk";
            break;
    }

    Response.Redirect(fwdTo);

%>
Avatar billede overload.dk Nybegynder
05. august 2006 - 11:07 #9
hov fik ikke nogen kommentar med på vejen... ovenstående virker hos mig, kræver bare at det ligger i roden og bliver kaldt som default side. Så kan man forwarde hvor-hen man vil.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester