Avatar billede gui Nybegynder
21. marts 2009 - 20:28 Der er 8 kommentarer og
1 løsning

url omskrivning med URLRewriter.Net

Jeg har lige downloadet URLRewriter.Net og jeg får fejl når jeg prøver at bruge den, jeg har sat alt op i min webconfig og tilføjet en reference til dll'en.
Jeg får bare:

Beskrivelse: "HTTP 404. Den ressource, du søger efter, eller en af dens afhængigheder, er muligvis blevet fjernet eller er ikke tilgængelig i øjeblikket. Kontroller, om følgende URL-adresse er stavet korrekt."

Ønsket URL-adresse: /MinSide/Nyheder/

måden jeg prøver at bruge er:

<rewriter>
        <rewrite url="~/news.aspx" to="~/Nyheder/"/>
</rewriter>

er der noget jeg har overset? på forhånd tak :-)
Avatar billede fun22 Nybegynder
22. marts 2009 - 13:01 #1
For det første skal Du have det til at se således ud: url="/nyheder/" to="~/news.aspx"..

Også er det ikke sikkert du kan gøre det på folder niveu. Men at du skal have det til at hedde url="/nyheder/default.aspx".. For at det dur..
Avatar billede gui Nybegynder
22. marts 2009 - 13:37 #2
Hvis jeg skriver sådan her:

<rewriter>
  <rewrite url="~/news.aspx" to="/Nyheder/Default.aspx" />
</rewriter>

får jeg: System.InvalidOperationException: Stien '/Nyheder/Default.aspx/' blev ikke tilknyttet.

Kildefejl:

Der blev oprettet en undtagelse, der ikke blev behandlet,  under kørsel af den aktuelle webanmodning. Du kan finde oplysninger om undtagelsens oprindelse og placering ved hjælp af nedenstående staksporing af undtagelser. 

Staksporing:


[InvalidOperationException: Stien '/Nyheder/Default.aspx/' blev ikke tilknyttet.]
  System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +8848666
  System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath) +42
  System.Web.VirtualPath.MapPathInternal() +4
  System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping) +107
  System.Web.HttpRequest.MapPath(VirtualPath virtualPath) +37
  System.Web.HttpServerUtility.MapPath(String path) +99
  Intelligencia.UrlRewriter.Utilities.HttpContextFacade.InternalMapPath(String url) +59
  Intelligencia.UrlRewriter.RewriterEngine.HandleDefaultDocument(RewriteContext context) +378
  Intelligencia.UrlRewriter.RewriterEngine.Rewrite() +611
  Intelligencia.UrlRewriter.RewriterHttpModule.BeginRequest(Object sender, EventArgs e) +108
  System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Avatar billede gui Nybegynder
22. marts 2009 - 13:38 #3
Uden ~
Avatar billede fun22 Nybegynder
22. marts 2009 - 14:21 #4
Du skulle også bytte om på dem:

<rewriter>
  <rewrite url="/Nyheder/Default.aspx" to="~/news.aspx" />
</rewriter>
Avatar billede gui Nybegynder
22. marts 2009 - 14:54 #5
Altså det får jeg ikke noget ud af :-(

Den url som jeg har i min solution ligger på "~/news.aspx" <-- det er den orginale. så det må være rigtigt det jeg skrev først?

<rewriter>
  <rewrite url="~/news.aspx" to="/Nyheder/Default.aspx" />
</rewriter>

Jeg har ingen mappe der hedder Nyheder, det er den jeg gerne vil have virtuel.
Avatar billede fun22 Nybegynder
22. marts 2009 - 18:19 #6
Url er den adresse som skrives i din browser.. Den pæne url..

eks.

www.minside.dk/nyheder/default.aspx

og din "to" er den som den skal vise i browseren..

Så det korrekte vil være:

<rewriter>
  <rewrite url="/Nyheder/Default.aspx" to="~/news.aspx" />
</rewriter>

Dog skal det siges, at jeg ikke mener det virker når du tester det på din egen pc, men at det skal ligges ud på en rigtig webserver da det kommer an på hvordan den er sat op...
Avatar billede fun22 Nybegynder
22. marts 2009 - 18:22 #7
Så kan du så lave en regl mere så du kan finde id på nyhederne også..

<rewriter>
  <rewrite url="/Nyheder/Default.aspx" to="~/news.aspx" />
  <rewrite url="/Nyheder/(.+).aspx" to="~/news.aspx?id=$1" />
</rewriter>

så kan du kalde de forskellige nyheder frem ved:

www.minside.dk/nyheder/235.aspx

hvor 235 er id'et på din nyhed..
Avatar billede gui Nybegynder
22. marts 2009 - 20:23 #8
Jeg fik det til at virke med det du sagde før, jeg havde bare lige overset at jeg skulle skrive den i browseren, det troede jeg selv den gjorde når jeg gik ind på ~/news.aspx :)

Har fået det til at virke både statisk og dynamisk, og det virker også i visual stduio's webserver.

tak for hjælpen, smid et svar og få dine points :)
Avatar billede fun22 Nybegynder
22. marts 2009 - 21:08 #9
det var da godt du fik det til at virke :) har selv fået grå hår nogen gange hehe..
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