HttpContext.RewritePath Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Leitet eine Anforderung für eine Ressource an einen anderen Pfad als den um, der durch die angeforderte URL angegeben wird. RewritePath wird im cookielosen Sitzungszustand verwendet, um Sitzungs-IDs von URLs zu entfernen.
Überlädt
| Name | Beschreibung |
|---|---|
| RewritePath(String, String, String, Boolean) |
Schreibt die URL mithilfe des angegebenen virtuellen Pfads, pfadinformationen, Abfragezeichenfolgeninformationen und einen booleschen Wert um, der angibt, ob der Clientdateipfad auf den Umschreibpfad festgelegt ist. |
| RewritePath(String, String, String) |
Schreibt die URL mithilfe des angegebenen Pfads, der Pfadinformationen und der Abfragezeichenfolgeninformationen neu. |
| RewritePath(String, Boolean) |
Schreibt die URL mithilfe des angegebenen Pfads und eines booleschen Werts um, der angibt, ob der virtuelle Pfad für Serverressourcen geändert wird. |
| RewritePath(String) |
Schreibt die URL mithilfe des angegebenen Pfads neu. |
RewritePath(String, String, String, Boolean)
Schreibt die URL mithilfe des angegebenen virtuellen Pfads, pfadinformationen, Abfragezeichenfolgeninformationen und einen booleschen Wert um, der angibt, ob der Clientdateipfad auf den Umschreibpfad festgelegt ist.
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)
Parameter
- filePath
- String
Der virtuelle Pfad zu der Ressource, die die Anforderung bezieht.
- pathInfo
- String
Zusätzliche Pfadinformationen, die für die URL-Umleitung verwendet werden sollen. Weitere Informationen finden Sie unter PathInfo.
- queryString
- String
Die Anforderungsabfragezeichenfolge, die für die URL-Umleitung verwendet werden soll.
- setClientFilePath
- Boolean
true um den Dateipfad festzulegen, der für Clientressourcen auf den Wert des filePath Parameters verwendet wird; andernfalls false.
Ausnahmen
Der path Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Der filePath Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Beispiele
Ein Codebeispiel finden Sie unter der RewritePath(String) Methodenüberladung.
Hinweise
Der filePath Parameter enthält nicht den Inhalt des pathInfo Parameters. Für die URL http://www.microsoft.com/virdir/page.html/taillautet http://www.microsoft.com/virdir/page.htmlder filePath Parameter , und der pathInfo Parameter ist tail.
Um sicherzustellen, dass der virtuelle Pfad, der zum Erstellen von Pfaden zu Ressourcen verwendet wird, nicht geändert wird, legen Sie den setClientFilePath Parameter auf false. Ein häufiges Szenario, in dem Sie festlegen setClientFilePathfalse möchten, besteht darin, dass Sie die URL neu schreiben müssen, und Sie verwenden Designs und leiten die URL an eine Ressource um, die sich in einem anderen Ordner befindet als die angeforderte Ressource.
Das Umschreiben von URLs ist nützlich, wenn Sie die Seiten in Ihrer Webanwendung neu strukturieren möchten, und Sie sicherstellen möchten, dass Personen, die mit einem Lesezeichen versehene alte URLs haben, diese weiterhin verwenden können, nachdem Sie Seiten verschoben haben. Mit der URL-Umschreibung können Sie Anforderungen transparent an den neuen Seitenspeicherort weiterleiten.
Wenn Sie eine Website für die Verwendung von URLs aktivieren möchten, die benutzerfreundlicher sind und für Suchmaschinen optimiert sind, besteht eine robustere Alternative darin, ASP.NET Routing zu verwenden. Weitere Informationen finden Sie unter ASP.NET Routing.
Weitere Informationen
Gilt für:
RewritePath(String, String, String)
Schreibt die URL mithilfe des angegebenen Pfads, der Pfadinformationen und der Abfragezeichenfolgeninformationen neu.
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)
Parameter
- filePath
- String
Der interne Umschreibpfad.
- pathInfo
- String
Zusätzliche Pfadinformationen für eine Ressource. Weitere Informationen finden Sie unter PathInfo.
- queryString
- String
Die Anforderungsabfragezeichenfolge.
Ausnahmen
Der path Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Der filePath Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Beispiele
Ein Codebeispiel, einschließlich eines Beispiels dieser Methodenüberladung, finden Sie unter der RewritePath(String) Methodenüberladung.
Hinweise
Die RewritePath Methode leitet eine Anforderung für eine Ressource an eine andere Ressource um, ohne die URL zu ändern.
Der filePath Parameter enthält nicht den pathInfo Parameterinhalt. Für die URL http://www.microsoft.com/virdir/page.html/taillautet http://www.microsoft.com/virdir/page.htmlder filePath Parameter , und der pathInfo Parameter ist tail.
Das Umschreiben von URLs ist nützlich, wenn Sie die Seiten in Ihrer Webanwendung neu strukturieren möchten, und Sie sicherstellen möchten, dass Personen, die mit einem Lesezeichen versehene alte URLs haben, diese weiterhin verwenden können, nachdem Sie Seiten verschoben haben. Mit der URL-Umschreibung können Sie Anforderungen transparent an den neuen Seitenspeicherort weiterleiten.
Wenn Sie eine Website für die Verwendung von URLs aktivieren möchten, die benutzerfreundlicher sind und für Suchmaschinen optimiert sind, besteht eine robustere Alternative darin, ASP.NET Routing zu verwenden. Weitere Informationen finden Sie unter ASP.NET Routing.
Weitere Informationen
Gilt für:
RewritePath(String, Boolean)
Schreibt die URL mithilfe des angegebenen Pfads und eines booleschen Werts um, der angibt, ob der virtuelle Pfad für Serverressourcen geändert wird.
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)
Parameter
- path
- String
Der interne Umschreibpfad.
- rebaseClientPath
- Boolean
true um den virtuellen Pfad zurückzusetzen; false um den virtuellen Pfad unverändert zu halten.
Ausnahmen
Der path Parameter ist null.
Der path Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Beispiele
Ein Codebeispiel finden Sie unter der RewritePath(String) Methodenüberladung.
Hinweise
Die HttpContext.RewritePath(String, Boolean) Methode wird von der HttpContext.RewritePath(String) Methode aufgerufen, wobei der rebaseClientPath Parameter auf true. Um sicherzustellen, dass der virtuelle Pfad, der zum Erstellen von Pfaden zu Ressourcen verwendet wird, nicht geändert wird, legen Sie den rebaseClientPath Parameter auf false. Ein häufiges Szenario, in dem Sie festlegen rebaseClientPathfalse möchten, besteht darin, dass Sie die URL neu schreiben müssen, und Sie verwenden Designs und leiten die URL an eine Ressource um, die sich in einem anderen Ordner befindet als die angeforderte Ressource.
Das Umschreiben von URLs ist nützlich, wenn Sie die Seiten in Ihrer Webanwendung neu strukturieren möchten, und Sie sicherstellen möchten, dass Personen, die mit einem Lesezeichen versehene alte URLs haben, diese weiterhin verwenden können, nachdem Sie Seiten verschoben haben. Mit der URL-Umschreibung können Sie Anforderungen transparent an den neuen Seitenspeicherort weiterleiten.
Wenn Sie eine Website für die Verwendung von URLs aktivieren möchten, die benutzerfreundlicher sind und für Suchmaschinen optimiert sind, besteht eine robustere Alternative darin, ASP.NET Routing zu verwenden. Weitere Informationen finden Sie unter ASP.NET Routing.
Weitere Informationen
Gilt für:
RewritePath(String)
Schreibt die URL mithilfe des angegebenen Pfads neu.
public:
void RewritePath(System::String ^ path);
public void RewritePath(string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parameter
- path
- String
Der interne Umschreibpfad.
Ausnahmen
Der path Parameter ist null.
Der path Parameter befindet sich nicht im Stammverzeichnis der aktuellen Anwendung.
Beispiele
Das folgende Beispiel zeigt, wie Sie die RewritePath Methode verwenden, um einer Website das Reagieren auf URLs zu ermöglichen, die die Dateistruktur in der Website nicht widerspiegeln. Der erste Codeblock ist eine ASP.NET Webseite mit dem Namen RewritePath.aspx. Sie erfordert eine Abfragezeichenfolge. Wenn der Name Ihrer Website "WebSite1" lautet, zeigt die URL http://localhost/WebSite1/RewritePath.aspx?page=1 im Browser "Seite 1" an. Der Codeblock, der auf die Webseite folgt, ist der Application_BeginRequest Ereignishandler in der Datei "Global.asax". Dieser Code fängt Anforderungen für URLs ab http://localhost/WebSite1/page1 und konvertiert sie in das Formular, das für RewritePath.aspx erforderlich ist, bevor sie verarbeitet werden. Daher ruft die URL http://localhost/WebSite1/page1 RewritePath.aspx mit dem Abfragezeichenfolgenparameter auf, der "Page 1" im Browser anzeigt. Wenn eine URL wie http://localhost/WebSite1/page1 z. B. empfangen wird, wird eine Überladung RewritePath aufgerufen, mit der Sie einen Wert für die PathInfo Eigenschaft sowie einen Abfragezeichenfolgenparameter angeben können.
<%@ 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
Hinweise
Die RewritePath(String) Methode leitet eine Anforderung für eine Ressource an einen anderen Pfad um als die, die durch die angeforderte URL angegeben wird. Wenn Sie den virtuellen Pfad zurücksetzen müssen, damit Anforderungen vom Client für Serverressourcen ordnungsgemäß aufgelöst werden, verwenden Sie die Überladung dieser Methode, die den rebaseClientPath Parameter verwendet, und legen Sie den Parameter auf false.
Das Umschreiben von URLs ist nützlich, wenn Sie die Seiten in Ihrer Webanwendung neu strukturieren möchten, und Sie sicherstellen möchten, dass Personen, die mit einem Lesezeichen versehene alte URLs haben, diese weiterhin verwenden können, nachdem Sie Seiten verschoben haben. Mit der URL-Umschreibung können Sie Anforderungen transparent an den neuen Seitenspeicherort weiterleiten.
Wenn Sie eine Website für die Verwendung von URLs aktivieren möchten, die benutzerfreundlicher sind und für Suchmaschinen optimiert sind, besteht eine robustere Alternative darin, ASP.NET Routing zu verwenden. Weitere Informationen finden Sie unter ASP.NET Routing.