HttpContext.RewritePath Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Omdirigerar en begäran om en resurs till en annan sökväg än den som anges av den begärda URL:en. RewritePath används i cookielöst sessionstillstånd för att ta bort sessions-ID från URL:er.
Överlagringar
| Name | Description |
|---|---|
| RewritePath(String, String, String, Boolean) |
Skriver om URL:en med den angivna virtuella sökvägen, sökvägsinformation, frågesträngsinformation och ett booleskt värde som anger om klientfilens sökväg är inställd på sökvägen för omskrivning. |
| RewritePath(String, String, String) |
Skriver om URL:en med hjälp av den angivna sökvägen, sökvägsinformationen och frågesträngsinformationen. |
| RewritePath(String, Boolean) |
Skriver om URL:en med den angivna sökvägen och ett booleskt värde som anger om den virtuella sökvägen för serverresurser ändras. |
| RewritePath(String) |
Skriver om URL:en med den angivna sökvägen. |
RewritePath(String, String, String, Boolean)
Skriver om URL:en med den angivna virtuella sökvägen, sökvägsinformation, frågesträngsinformation och ett booleskt värde som anger om klientfilens sökväg är inställd på sökvägen för omskrivning.
public:
void RewritePath(System::String ^ filePath, System::String ^ pathInfo, System::String ^ queryString, bool setClientFilePath);
public void RewritePath(string filePath, string pathInfo, string queryString, bool setClientFilePath);
member this.RewritePath : string * string * string * bool -> unit
Public Sub RewritePath (filePath As String, pathInfo As String, queryString As String, setClientFilePath As Boolean)
Parametrar
- filePath
- String
Den virtuella sökvägen till resursen som betjänar begäran.
- pathInfo
- String
Ytterligare sökvägsinformation som ska användas för URL-omdirigeringen. Mer information finns i PathInfo.
- queryString
- String
Frågesträngen för begäran som ska användas för URL-omdirigeringen.
- setClientFilePath
- Boolean
true för att ange filsökvägen som används för klientresurser till värdet för parametern filePath , annars false.
Undantag
Parametern path finns inte i det aktuella programmets rotkatalog.
Parametern filePath finns inte i det aktuella programmets rotkatalog.
Exempel
Ett kodexempel finns i metodens RewritePath(String) överlagring.
Kommentarer
Parametern filePath innehåller inte parameterns pathInfo innehåll. För URL:en http://www.microsoft.com/virdir/page.html/tailär parametern filePath , och parametern http://www.microsoft.com/virdir/page.html är pathInfotail.
För att säkerställa att den virtuella sökväg som används för att konstruera sökvägar till resurser inte har ändrats anger du parametern setClientFilePath till false. Ett vanligt scenario som du kanske vill ställa in setClientFilePathfalse på är när du behöver skriva om URL:en, och du använder teman och omdirigerar URL:en till en resurs som finns i en annan mapp än den begärda resursen.
URL-omskrivning är användbart när du vill omstrukturera sidorna i webbprogrammet och du vill se till att personer som har bokmärkta gamla URL:er fortfarande kan använda dem när du har flyttat sidor. Med URL-omskrivning kan du transparent vidarebefordra begäranden till den nya sidplatsen.
Om du vill att en webbplats ska kunna använda URL:er som är mer användarvänliga och optimerade för sökmotorer är ett mer robust alternativ att använda ASP.NET routning. Mer information finns i ASP.NET Routning.
Se även
Gäller för
RewritePath(String, String, String)
Skriver om URL:en med hjälp av den angivna sökvägen, sökvägsinformationen och frågesträngsinformationen.
public:
void RewritePath(System::String ^ filePath, System::String ^ pathInfo, System::String ^ queryString);
public void RewritePath(string filePath, string pathInfo, string queryString);
member this.RewritePath : string * string * string -> unit
Public Sub RewritePath (filePath As String, pathInfo As String, queryString As String)
Parametrar
- filePath
- String
Den interna omskrivningssökvägen.
- queryString
- String
Frågesträngen för begäran.
Undantag
Parametern path finns inte i det aktuella programmets rotkatalog.
Parametern filePath finns inte i det aktuella programmets rotkatalog.
Exempel
Ett kodexempel, inklusive ett exempel på den här metodens överlagring, finns i RewritePath(String) metodens överlagring.
Kommentarer
Metoden RewritePath omdirigerar en begäran om en resurs till en annan resurs utan att ändra URL:en.
Parametern filePath innehåller inte parameterinnehållet pathInfo . För URL:en http://www.microsoft.com/virdir/page.html/tailär parametern filePath , och parametern http://www.microsoft.com/virdir/page.html är pathInfotail.
URL-omskrivning är användbart när du vill omstrukturera sidorna i webbprogrammet och du vill se till att personer som har bokmärkta gamla URL:er fortfarande kan använda dem när du har flyttat sidor. Med URL-omskrivning kan du transparent vidarebefordra begäranden till den nya sidplatsen.
Om du vill att en webbplats ska kunna använda URL:er som är mer användarvänliga och optimerade för sökmotorer är ett mer robust alternativ att använda ASP.NET routning. Mer information finns i ASP.NET Routning.
Se även
Gäller för
RewritePath(String, Boolean)
Skriver om URL:en med den angivna sökvägen och ett booleskt värde som anger om den virtuella sökvägen för serverresurser ändras.
public:
void RewritePath(System::String ^ path, bool rebaseClientPath);
public void RewritePath(string path, bool rebaseClientPath);
member this.RewritePath : string * bool -> unit
Public Sub RewritePath (path As String, rebaseClientPath As Boolean)
Parametrar
- path
- String
Den interna omskrivningssökvägen.
- rebaseClientPath
- Boolean
true för att återställa den virtuella sökvägen. false för att hålla den virtuella sökvägen oförändrad.
Undantag
Parametern path är null.
Parametern path finns inte i det aktuella programmets rotkatalog.
Exempel
Ett kodexempel finns i metodens RewritePath(String) överlagring.
Kommentarer
Metoden HttpContext.RewritePath(String, Boolean) anropas av HttpContext.RewritePath(String) metoden med parametern inställd på rebaseClientPathtrue. För att säkerställa att den virtuella sökväg som används för att konstruera sökvägar till resurser inte har ändrats anger du parametern rebaseClientPath till false. Ett vanligt scenario som du kanske vill ställa in rebaseClientPathfalse på är när du behöver skriva om URL:en, och du använder teman och omdirigerar URL:en till en resurs som finns i en annan mapp än den begärda resursen.
URL-omskrivning är användbart när du vill omstrukturera sidorna i webbprogrammet och du vill se till att personer som har bokmärkta gamla URL:er fortfarande kan använda dem när du har flyttat sidor. Med URL-omskrivning kan du transparent vidarebefordra begäranden till den nya sidplatsen.
Om du vill att en webbplats ska kunna använda URL:er som är mer användarvänliga och optimerade för sökmotorer är ett mer robust alternativ att använda ASP.NET routning. Mer information finns i ASP.NET Routning.
Se även
Gäller för
RewritePath(String)
Skriver om URL:en med den angivna sökvägen.
public:
void RewritePath(System::String ^ path);
public void RewritePath(string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parametrar
- path
- String
Den interna omskrivningssökvägen.
Undantag
Parametern path är null.
Parametern path finns inte i det aktuella programmets rotkatalog.
Exempel
I följande exempel visas hur du använder RewritePath metoden för att göra det möjligt för en webbplats att svara på URL:er som inte återspeglar filstrukturen på webbplatsen. Det första kodblocket är en ASP.NET webbsida med namnet RewritePath.aspx. Det kräver en frågesträng. Om namnet på webbplatsen är WebSite1 visar URL:en http://localhost/WebSite1/RewritePath.aspx?page=1 "Sida 1" i webbläsaren. Kodblocket som följer webbsidan är Application_BeginRequest händelsehanteraren i filen Global.asax. Den här koden fångar upp begäranden om URL:er, till exempel http://localhost/WebSite1/page1 och konverterar dem till det formulär som krävs för RewritePath.aspx innan de bearbetas. Därför anropar URL:en http://localhost/WebSite1/page1 RewritePath.aspx med frågesträngsparametern som visar "Sida 1" i webbläsaren. Om en URL som http://localhost/WebSite1/page1 tas emot anropas en överlagring av RewritePath som gör att du kan ange ett värde för PathInfo egenskapen samt en frågesträngsparameter.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "Page=" + Request.QueryString["page"] + " PathInfo=" + Request.PathInfo;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = "Page=" & Request.QueryString("page") & " PathInfo=" & Request.PathInfo
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
void Application_BeginRequest(Object sender, EventArgs e)
{
string originalPath = HttpContext.Current.Request.Path.ToLower();
if (originalPath.Contains("/page1"))
{
Context.RewritePath(originalPath.Replace("/page1", "/RewritePath.aspx?page=page1"));
}
if (originalPath.Contains("/page2"))
{
Context.RewritePath(originalPath.Replace("/page2", "/RewritePath.aspx"), "pathinfo", "page=page2");
}
}
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
Dim originalPath As String = HttpContext.Current.Request.Path.ToLower()
If originalPath.Contains("/page1") Then
Context.RewritePath(originalPath.Replace("/page1", "/RewritePath.aspx?page=page1"))
End If
If originalPath.Contains("/page2") Then
Context.RewritePath(originalPath.Replace("/page2", "/RewritePath.aspx"), "pathinfo", "page=page2")
End If
End Sub
Kommentarer
Metoden RewritePath(String) omdirigerar en begäran om en resurs till en annan sökväg än den som anges av den begärda URL:en. Om du måste återställa den virtuella sökvägen så att begäranden från klienten för serverresurser matchas korrekt använder du överlagringen av den här metoden som tar parametern rebaseClientPath och anger parametern till false.
URL-omskrivning är användbart när du vill omstrukturera sidorna i webbprogrammet och du vill se till att personer som har bokmärkta gamla URL:er fortfarande kan använda dem när du har flyttat sidor. Med URL-omskrivning kan du transparent vidarebefordra begäranden till den nya sidplatsen.
Om du vill att en webbplats ska kunna använda URL:er som är mer användarvänliga och optimerade för sökmotorer är ett mer robust alternativ att använda ASP.NET routning. Mer information finns i ASP.NET Routning.