Avatar billede websam Nybegynder
20. april 2006 - 23:46 Der er 15 kommentarer og
1 løsning

Tjek af url ?

Hejsa,

Jeg skal lave en kontrol af indholdet af en url. Hvis min url ser ud som en af følgende :

    http://www.site.dk/test/default.aspx?id=22

eller :

    http://www.site.dk/test/?id=22

Ser min url sådan ud skal jeg redirecte til en anden side. Men hvordan laver jeg et tjek på dette ?

/Websam
Avatar billede arne_v Ekspert
21. april 2006 - 01:41 #1
Request.Url indeholder URL for request

    Function Test(ByVal url As String) As Boolean
        Return Regex.IsMatch(url, "\?id=\d+$")   
    End Function

må kunne teste om den matcher dit kriterie
Avatar billede websam Nybegynder
21. april 2006 - 01:55 #2
Ok jeg prøver så at lave følgende i min begirequest i global.asax men det har ikke nogen effekt :

Dim domainName As String = Request.Url.Host.ToLower
If Regex.IsMatch(domainName, "\?id=\d+$") Then
    Response.Redirect("detail" & Request.QueryString("id") & ".aspx")
End If

Det jeg skal frem til er at kunne redirecte til en omskrevet url for at undgå mange til en problematikken i forhold til søgemaskiner ?
Avatar billede arne_v Ekspert
21. april 2006 - 01:58 #3
.Host vil næppe nogensinde indeholde ?id=nnn
Avatar billede websam Nybegynder
21. april 2006 - 02:12 #4
Min fejl, med følgende får jeg så bare en 404 page not found og det selvom jeg har en HttpHandler der tager sig omskrivningen :

Dim domainName As String = Request.Url.ToString
If Regex.IsMatch(domainName, "\?id=\d+$") Then
    Response.Redirect("detail" & Request.QueryString("id") & ".aspx")
End If
Avatar billede arne_v Ekspert
21. april 2006 - 02:14 #5
indeholder "detail" & Request.QueryString("id") & ".aspx" det rigtige ?
Avatar billede websam Nybegynder
21. april 2006 - 02:17 #6
detail22.aspx er bare en omskrevet url der referere til default.aspx?id=22 men hvis ikke jeg laver et eller andet smart som kun giver adgang til detail22.aspx og ikke den oprindelige url så får jeg et mange til en problem i forhold til søgemaskinerne hvilket ikke duer.

/Websam
Avatar billede arne_v Ekspert
21. april 2006 - 02:26 #7
I mean: is it the test or the redirect that does not work ?
Avatar billede websam Nybegynder
21. april 2006 - 02:36 #8
Altså køre jeg test uden koden ovenfor så virker det fint, sætter jeg koden ind laver den redirect, men finder ikke siden altså 404 page not found så det er en kobination af de 2 ting til sammen der ikke virker.

/Websam
Avatar billede websam Nybegynder
21. april 2006 - 02:46 #9
Og hvis jeg skal uddybe det helt i bund. Så har jeg lavet 2 sider :

    test.aspx
    default.aspx

på min test.aspx side har jeg lavet 2 links :

    detail22.aspx
    default.aspx?id=22

Disse links referere begge til min default.aspx side hvor jeg simplet laver udskrivning af id'et fra headeren.

Når jeg så tester begge links virker det helt fint uden den ovenstående kode i min BeginRequest i global.asax. Men når jeg sætter koden ind og tester mine links igen blive der godt nok redirectet, men den mapping/omskrivning jeg har igennem HttpHandleren virker ikke og derfor får jeg så en 404 page not found.

Måske det hjælper på forklaringen af det hele ?

/Websam
Avatar billede arne_v Ekspert
21. april 2006 - 03:09 #10
desværre ved jeg ikke noget om HTTP handler, så ...

vildt gæt - virker det hvis du redirecter til /detail22.aspx ?
Avatar billede websam Nybegynder
21. april 2006 - 10:36 #11
Nej det virker heller ikke.
Avatar billede arne_v Ekspert
21. april 2006 - 13:01 #12
så er jeg blank
Avatar billede websam Nybegynder
21. april 2006 - 13:03 #13
Det er ok arne_v jeg må se om ikke jeg kan finde en løsning på dette ;o)
Avatar billede websam Nybegynder
09. august 2006 - 12:16 #14
Hold da op en gammel en her *GG* jeg fik løst problemet med et freeware komponent.

smid et svar.

/Websam
Avatar billede arne_v Ekspert
09. august 2006 - 13:18 #15
behold point for den her
Avatar billede websam Nybegynder
09. august 2006 - 13:38 #16
ok det gør jeg ;o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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