Avatar billede bigbenoy Nybegynder
08. marts 2006 - 20:59 Der er 15 kommentarer

Speaking URL's / Sigende URL'er

Hej

Jeg sider lidt og overvejer hvordan man kunne lave en ASP.NET side, så den gør brug af "sigende URL'er" (find selv på bedre udtryk).

Det betyder at istedet for at kalde en side:
http://www.mydomain.dk/Article.aspx?id=myarticle&lang=dk
skal den hedde noget i stil med:
http://www.mydomain.dk/dk/article/myarticle

Den umidelbare løsning er at lave tilsvarende foldere, med hver sin "default.aspx" fil i, men er ikke specielt elegant til et site med dynamisk data/struktur.

Den anden tanke jeg havde var at lave en "Generic Handler", og lade den håndtere alle request, og derfra lave en "context.Server.Transfer("Article.aspx")". Dette gav umidelbart ikke pote.

Den 3. jeg overvejde var at få IIS'en til at sende httpkode 405 og 405 til en "handler.aspx", og den kan så lave en server.Transfer("Article.aspx"). IIS'en skriver dog stadig 404/405 koden i logfilen.

Ingen af ovenstående løsningerne er elegante, er der nogen andre der har løst/overvejet problemstillingen?

Nogen vil måske undre sig over hvorfor man i det hele taget vil gøre alt dette for en kosmetisk ting?.
Dels ser det pænere ud på sitet, og brugeren kan delvist navigere ud fra URL'en.
Den anden er at søgemaskiner muligvis ranker sigende URL'er højere (muligvis en and).

Om ikke andet så er det da en udfordring :P
Avatar billede bigbenoy Nybegynder
08. marts 2006 - 21:01 #1
Avatar billede dr_chaos Nybegynder
08. marts 2006 - 21:02 #2
altså jeg ved godt at dette måske ikke er den kønneste løsning.
Men du kan gøre noget i denne stil

http://www.mydomain.dk/show.aspx?Load=/article/myarticle
Avatar billede bigbenoy Nybegynder
08. marts 2006 - 21:04 #3
ja, udemærkedet forslag, og endda:
http://www.mydomain.dk/?Load=/article/myarticle
Her vil den falde tilbage på default.aspx, eller hvad der nu er angivet i IIS'en
Avatar billede dr_chaos Nybegynder
08. marts 2006 - 21:04 #4
Avatar billede dr_chaos Nybegynder
08. marts 2006 - 21:06 #5
jeg havde nu en show.aspx med som så kunne være en side som loadede en usercontrol eller lignende.


http://www.urlrewriting.net/(X(1)A(5BroVp1pm02n7uO0_HrlYU2yaoYGhkQa1hvTNwLC8cBcvhln-PDNwObe-yJxlisEJuyZXXJ0dQGr0FmUzCCLNF5-l5ozdym-Tl4zSXCHfy81))/Default.aspx?Language=en&AspxAutoDetectCookieSupport=1
Er en komponent til urlrewrite.
Avatar billede bigbenoy Nybegynder
08. marts 2006 - 21:13 #6
okay, den kigger jeg på.

En sidste tanke var
http://www.mydomain.dk/?/article/myarticle
og så læse stien med Request.Url.Query
Avatar billede guidmaster Nybegynder
08. marts 2006 - 21:15 #7
En nem, hurtig og rigtig god metode: http://www.urlrewriting.net/
Avatar billede mark_j Nybegynder
08. marts 2006 - 21:15 #8
Har du set video'erne på dette link http://msdn.microsoft.com/asp.net/learning/learn/newtodevelopment/default.aspx
der er en video der hedder tips & tricks hvor de forklare et godt trick til hvordan man gør en url nemmere og pænere.
Avatar billede dr_chaos Nybegynder
08. marts 2006 - 21:22 #9
guidmaster samme link som jeg skrev i 21:06:39 :)
Avatar billede elskermad.dk Nybegynder
08. marts 2006 - 21:33 #10
Haha, lidt sjovt :D

Det link dr_chaos linker til (21:06:39) skulle være til et site, der gør links mere overskuelige? Det lader til de ikke selv tror på deres projekt! :)
Avatar billede websam Nybegynder
08. marts 2006 - 23:24 #11
Det kunne vel oxo være en løsning hvis du gemte "artikler" som html filer i en mappe og så bare bruger databasen til at gemme sti til den ønskede fil alá :

http://www.dinside.dk/artikler/etnavn.html

Så får du da en meget pæn Url, hvad mere interessant er at søgemaskinerne lettere finder rene html sider frem for database generede sider ;o)

/Websam
Avatar billede bigbenoy Nybegynder
09. marts 2006 - 12:45 #12
"..hvad mere interessant er at søgemaskinerne lettere finder rene html sider frem for database generede sider ;o)"

- Er det ikke mere en problematik omkring sitemaps, hvor der er link til de dynamiske sider? Jeg har ikke hørt søgemaskiner vægter extenstions forskelligt.
Avatar billede websam Nybegynder
09. marts 2006 - 12:55 #13
Jeg fik mig nok formuleret lidt forkert ;o) Det jeg ville frem til var en kombination af indholdet på en side og den måde man laver sine url'er man nok skal tænke lidt over da jeg (så vidt jeg har læst mig frem til) ved at det skulle være lettere for søgemaskinerne at finde "rene sider" :

    http://www.dinside.dk/artikler/etnavn.html/asp/php/aspx osv.

End det er for dem at skulle tolke :

    http://www.dinside.dk/artikler/etnavn.aspx?a=123&b=456

Men jeg er overhovedet ikke ekspert på søgemaskine optimering ;o)

/Websam
Avatar billede jacknet Nybegynder
10. marts 2006 - 08:50 #14
Websam:

Du mener rene url'er?

Ja, det er rigtigt at det har en betydning. Hvis man kigger efter man man se at nogen gange på fx Google, er ord i url'en på forskellige resultater markeret med FED.

www.dinside.dk/produkter/appelsinpresser.ext har større chance for at blive fundet på fx "appelsinpresser", end www.dinside.dk/produkt.ext?id=5424 har.

Men extensions betyder ikke noget. Bare det er tekst der kan læses.
Avatar billede websam Nybegynder
10. marts 2006 - 09:06 #15
Som sagt var det oxo en bøf fra min side ;o)

/Websam
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