Avatar billede para7 Nybegynder
07. december 2004 - 15:36 Der er 6 kommentarer og
2 løsninger

Redirect af domænekald på webserver

Jeg har webhotel hos Jepponet, lad os kalde det domain1.dk. Support siger at jeg kan undersøge noget med metatags hostheader redirect, en side man opretter, der så skulle kunne omdirigere til en undermappe alt efter hvad der kommer ind af domænekald til webhotellet. Jeg har så undermapper for de forskellige domæner fx domain2_dk.

Jeg vil gerne have det sådan at jeg undgår pegning med frame eller at der står domain1.dk/domain2_dk i adressefeltet.
Der skal bare stå domain2.dk og options skal bibeholdes fx domain2.dk?id=7.

Nogen der ved noget om det?

PS; Jeg kan jo nok opsnappe hvad der står i headeren og fx via ASP redirecte tilen undermappe, men så vil der stå domain1.dk/domain2_dk i headeren/adressefeltet. Og pakke det ind i et frameset er noget junk.
Avatar billede burningice Nybegynder
08. december 2004 - 23:57 #1
tror du bliver nødt til at lege med noget path_rewrite... ved ikke om der findes komponent til det i asp. Ellers er der ISAPI-plugins til IIS der gør tricket.
Avatar billede para7 Nybegynder
09. december 2004 - 13:02 #2
Tak, det virker noget langhåret. Har ikke fundet noget ved søgning. Lukker snart.
Avatar billede burningice Nybegynder
09. december 2004 - 17:46 #3
tror heller ikke du finder det

ang. ISAPI-plugin findes der flere rundt omkringt som er næmme at gå til. Men det kræver at du kan få din udbyder til at installere det - hvilket som oftest er den vanskelige del.

Nu var jeg måske lidt hurtig til at antage at webserveren er IIS. Hvis det er apache er der nemlig en indbygget feature til det - den hedder mod_rewrite. En anden mulighed er at skifte til asp.net, det understøtter det også via Request.Path.Rewrite()
Avatar billede para7 Nybegynder
09. december 2004 - 18:45 #4
Jeg er mest til asp og i asp.net vil jeg da se på det, men jeg tror jeg ender med at styre det meste af vores ting tilbage i USA kontrolpanelet hos webhost4life.com, det er sejt.
Tak for hjælpsomheden cyberfessor. Jeg lukker og er i julehumør, så jeg vil gerne dele point, hvis du lige svarer <;)
Avatar billede para7 Nybegynder
09. december 2004 - 18:47 #5
Men forresten, kan du komme med et eksempel på Request.Path.Rewrite() er det meget velkommen...
Avatar billede burningice Nybegynder
09. december 2004 - 19:49 #6
her er et eksempel på noget jeg lavede for efterhånden et års tid siden.. det er ikke den pæneste kode, og tilpasset kun til den ene webapplikation det blev lavet til i sin tid.

Hvis jeg skulle lave noget igen idag ville jeg nok lave en form for regler og noget RegEx istedet, men den tid, den sorg :)


protected void Application_BeginRequest(Object sender, EventArgs e)
        {
            string path = this.Context.Request.Path;

            if (path.IndexOf("events") > -1)
            {
                RewriteUrl(path, "events", "event");

                return;
            }

            if (path.IndexOf("gallery") > -1)
            {
                if (path.IndexOf("popup") == -1)
                {
                    int start;
                    int slut;

                    start = path.LastIndexOf("/") + "gallery".Length + 1;
                    slut = path.LastIndexOf(".");
               
                    string sId = path.Substring(start, (slut - start));

                    if (sId.Length > 0)
                    {
                        start = path.LastIndexOf("/") + "gallery".Length + 1;
                        slut = path.LastIndexOf("-");
                       
                        string galleryId;
                       
                        if (slut == -1)
                        {
                            slut = path.LastIndexOf(".");

                            galleryId = path.Substring(start, (slut - start));
                           
                            this.Context.RewritePath("gallery.aspx?event="+ galleryId);

                            return;
                        }

                        galleryId = path.Substring(start, (slut - start));

                        start = path.LastIndexOf("-") + 1;
                        slut = path.LastIndexOf(".");

                        string pageId = path.Substring(start, (slut - start));

                        this.Context.RewritePath("gallery.aspx?event="+ galleryId +"&page="+ pageId);
                    }
                }

                return;
            }

            if (path.IndexOf("viewimage") > -1)
            {
                RewriteUrl(path, "viewimage", "img");

                return;
            }
        }

        private void RewriteUrl(string path, string page, string querystring)
        {
            int start = path.LastIndexOf("/") + page.Length + 1;
            int slut = path.LastIndexOf(".");

            string sId = path.Substring(start, (slut - start));

            if (sId.Length > 0)
            {
                this.Context.RewritePath(page +".aspx?"+ querystring +"="+ sId);
            }
        }
Avatar billede burningice Nybegynder
09. december 2004 - 19:51 #7
svar
Avatar billede para7 Nybegynder
10. december 2004 - 19:46 #8
<:) Tak og god jul.
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