![]() |
|
|
|||||||
| .NET I detta forum diskuteras ämnen som berör .NET-plattformen, bland annat asp.net. |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
URL Rewrite i ASP.Net
...
Senast redigerad av echoSwe, 2007-04-14 klockan 19:19 |
|
|
|
|
|
#2 |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
...
Senast redigerad av echoSwe, 2007-04-14 klockan 19:19 Anledning: felstavning |
|
|
|
|
|
#3 |
|
Medlem
Registrerad: 1999-12-28
Ort: Lund
Inlägg: 4 593
Lösningar: 57 |
Om du vill ha en smidigt sätt att styra querystrings etcetera till olika katalogstrukturer, vilket inte går att klara på ett smidigt sätt med urlrewrites finns det ett projekt på codeproject som heter just urlrewrite som fungerar ypperligt med hjälp av lite settings i web.config, styrt med regex
|
|
|
|
|
|
#4 |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
Varför skulle inte det gå att klara på ett smidigt sätt med urlrewrites? För url-rewrites är ju det som jag frågar om! Menar du att det är omöjligt att använda url-rewrites och query-strings samtidigt? Eller menar du att lösningen som jag har ovan är undermålig?
Jag hittar ingen URL Rewrite på codeproject. Förutom: http://www.codeproject.com/aspnet/Chameleon.asp som i princip bara diskuterar sammas saker som jag gjorde ovan. Vill dock ha svar på min fråga. edit// för övrigt så behöver vi inte overrida-form attributet eftersom ASP.Net 2.0 verkar ändra sökvägen till en som stämmer... Jag behöver fortfarande svar på min fråga dock. Sedan har jag problem att få motorn att fungera när jag inte debuggar. Någon? Senast redigerad av echoSwe, 2006-07-10 klockan 09:41 |
|
|
|
|
|
#5 |
|
Medlem
Registrerad: 2001-08-29
Ort: Stockholm
Inlägg: 1 172
Lösningar: 8 |
__________________
Du vet att staten har rätt att se dig; men du har ingen aning om vem som är staten imorgon! FRA åt helvete, ACTA er, lämna folk IPRED. ̿̿'̿'\̵͇̿̿\з=(•̪●)=ε/̵͇̿̿/'̿'̿ ̿ |
|
|
|
|
|
#6 |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
Ja, den har jag sett...
|
|
|
|
|
|
#7 |
|
Medlem
Registrerad: 2001-08-29
Ort: Stockholm
Inlägg: 1 172
Lösningar: 8 |
ok, tror det var den erka menade
__________________
Du vet att staten har rätt att se dig; men du har ingen aning om vem som är staten imorgon! FRA åt helvete, ACTA er, lämna folk IPRED. ̿̿'̿'\̵͇̿̿\з=(•̪●)=ε/̵͇̿̿/'̿'̿ ̿ |
|
|
|
|
|
#8 |
|
Medlem
Registrerad: 2000-12-30
Ort: Uppsala
Inlägg: 3 101
Lösningar: 127 |
Nu hänger jag inte riktigt med på vad du löst resp inte löst men jag sökte runt för kanske ett år sen och körde utifrån dessa länkar.
http://pietschsoft.com/blog/post.aspx?postid=762 http://www.urlrewriting.net/
__________________
-If a word in the dictionary were mispelled, how would we know? / Steven Wright |
|
|
|
|
|
#9 |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
http://www.urlrewriting.net/
Den verkar fixa det mesta som den ska . Både post-backs och själva grundfunktionen fungerar, och den är enkel att implementera och bygga ut också! Men den verkar inte fungera om du vill ha en adress som:http://sajt.se/kontakt/ istället för http://sajt.se/Kontakt.aspx Jag har en känsla av att svaret ligger i den här funktionen i UrlRewriteModule.cs - som jag länkar ovan. Kod:
/// <summary>
/// Rewrites the URL.
/// </summary>
/// <param name="app">The app.</param>
private void RewriteUrl(HttpApplication app)
{
string requestUrl;
// Do the Rewrites
foreach (Rewrite rewrite in Rewrites)
{
requestUrl = app.Request.RawUrl;
if (rewrite.Regex.IsMatch(requestUrl))
{
string urlForRewrite = requestUrl;
string requestQuerystring = string.Empty;
int pos = requestUrl.IndexOf('?');
if (pos >= 0)
{
requestQuerystring = requestUrl.Substring(pos + 1);
urlForRewrite = requestUrl.Substring(0, pos);
}
// Save original querystring, url and rewrite-parameters for OnPagePreInit()
app.Context.Items[ItemsClientQueryString] = requestQuerystring;
app.Context.Items[ItemsRewriteUrlParameter] = rewrite.RewriteUrlParameter;
app.Context.Items[ItemsVirtualUrl] = requestUrl;
string destinationUrl = rewrite.Regex.Replace(urlForRewrite, rewrite.DestinationUrl, 1);
destinationUrl = JoinUrlParameter(HandleRootOperator(destinationUrl), requestQuerystring);
app.Context.RewritePath(destinationUrl, false);
break;
}
}
}
Senast redigerad av echoSwe, 2006-07-10 klockan 15:24 |
|
|
|
|
|
#10 | |
|
Medlem
Registrerad: 2004-12-26
Ort: Sydney, Australien
Inlägg: 95
Lösningar: 4 |
Citat:
------------------------------------------ Med andra ord: skall du rewrita kontakt.aspx till /kontakt/ måste du pillra på inställningar på iis:en. Jag har själv pulat med en urlrewriter och har suttit många timmar och förbannat mig över detta. Testa att köra sidan i cassini så ska du se att den klarar av /mapp/-sökvägar. Orsaken till att det inte fungerar under IIS är att din httpmodul inte körs vid sökvägar av slaget /mapp/ då dessa inte routas till asp.net motorn av iis. Detta måste således manuellt ställas in, dvs. att allt routas till asp.net motorn (inklusive css, bilder osv osv...) Men om du lyckas lösa problemet så ska jag vara den förste du meddelar
|
|
|
|
|
|
|
#11 | |
|
Medlem
Registrerad: 2004-11-06
Ort: Island
Inlägg: 1 467
Lösningar: 23 |
SebbeJ:
Citat:
Du menar alltså http://www.codeproject.com/aspnet/As...WithoutIIS.asp ? Har även kollat på det här ISAPI-filtret. Mitt webbhotell verkar inte helt omöjliga att installera det. Någon som använder ett som fungerar perfekt? |
|
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|