Avatar billede lauge Nybegynder
17. januar 2004 - 18:26 Der er 8 kommentarer

Læsevenlige/huskevenlige URLs?

Hejsa,

Tangora CMS har en ok funktion hvor det er muligt at lave en "huske venlig/læse venlig" URL adresse.

F.eks. så er disse 2 links den samme side:

http://www.tangora.com/page982.aspx
&
http://www.tangora.com/brugervenlighed

men hvordan faen laver jeg det?
Jeg kunne forstå det hvis man bare lave en default fil en mappen "brugervenlighed", og så lavede et frameset. Men det er ikke det de gør.

Er her nogen på eksperten som har en ide?
Avatar billede odegaard Nybegynder
17. januar 2004 - 19:35 #1
Hvis du kan vente til ASP.NET v.2.0, så bliver det en indbygget feature.
Avatar billede lauge Nybegynder
17. januar 2004 - 19:49 #2
ja der kommer mange dejlige ting ved releace af version 2 - men der går et år .-)
Lige dene ting havde jeg ikke set før - har du et link til hvor du har læst dette?
Avatar billede odegaard Nybegynder
17. januar 2004 - 20:28 #3
Avatar billede guidmaster Nybegynder
17. januar 2004 - 20:29 #4
Du kan komme igang med at lave lidt urlrewrite hvis du læser http://weblogs.asp.net/ssmith/archive/2003/11/06/36191.aspx

Du kan se et eksempel på hvordan urlrewrite virker i ASP.NET 2.0 på denne side: http://weblogs.dotnetforum.dk/guidmaster/archive/2004/01/08/542.aspx
Avatar billede lauge Nybegynder
17. januar 2004 - 22:31 #5
quidmaster>> cool  link!

Men jeg fatter ikke helt lige hvad der sker i denne kode.
Jeg stiller nogle spørgsmål gennem koden hvis nogen kan svare :-)


string originalUrl = Request.Url.ToString();
// Check for article shortcuts (e.g. http://aspalliance.com/1 )
string newUrl = AspAlliance.Web.Core.HttpRedirect.GetRedirect(originalUrl);

// LAUGE>> Jeg fatter ikke helt C# - men er GetRedirect(...) et funktions kald????

if(newUrl != originalUrl)
{

// LAUGE>> forstår ikke helt disse 2 linje?
System.Uri myUri = new System.Uri(newUrl);
Context.RewritePath(myUri.PathAndQuery);
}


// LAUGE>> er dette her så bare en alm funktion der retunere en streng?
// GetRedirect:

System.Text.RegularExpressions.Regex regex =
new System.Text.RegularExpressions.Regex(@"\.com/(\d+)$",
(System.Text.RegularExpressions.RegexOptions.Compiled |
System.Text.RegularExpressions.RegexOptions.IgnoreCase));
System.Text.RegularExpressions.MatchCollection matches = regex.Matches(badRequest);
if(matches.Count > 0)
{
  string id = matches[0].Value.Replace(".com/", "");
  int aId;
  try
  {
    aId = Int32.Parse(id);
    return "http://aspalliance.com/articleviewer.aspx?aId=" + id;
  }
  catch
  {}
}
return badRequest;


Men fedt er det hvis jeg kan få det til at virke :-)
Avatar billede guidmaster Nybegynder
17. januar 2004 - 22:39 #6
Hvis du kan vente til imorgen vil jeg lave et lille eksemple på url rewriting skrevet i vb.net.....

Hvis vi kigger på den kode som du har skrevet et nogle sp. til:
1) GetRedirect er et kald ned til den metode der hedder GetRedirect. Det er ikke direkte angivet at det er en metode da hele hans kode ikke er angivet.

2)Der oprettes en objekt af type Uri (som kan betragtes som en url). Derefter kaldes der er en metode der hedder RewritePath som er en del af .NET frameworket(http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwebhttpcontextclassrewritepathtopic1.asp)

3)Yep
Avatar billede lauge Nybegynder
17. januar 2004 - 22:59 #7
quidmaster>> du er en helt hvis du gider smide en VB version i morgen....!!!
JEg ved ikke om du går op i points på exp.dk - men hvis du vil have flere end de 30 røde æbler siger du til så :-)
Avatar billede lauge Nybegynder
19. januar 2004 - 21:45 #8
quidmaster>> havde du en løsning i vb.net?
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