HttpContext.RewritePath Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een aanvraag voor een resource omgeleid naar een ander pad dan het pad dat wordt aangegeven door de aangevraagde URL. RewritePath wordt gebruikt in cookieloze sessiestatus om sessie-id's van URL's te verwijderen.
Overloads
| Name | Description |
|---|---|
| RewritePath(String, String, String, Boolean) |
Herschrijf de URL met behulp van het opgegeven virtuele pad, padinformatie, querytekenreeksinformatie en een Booleaanse waarde die aangeeft of het pad naar het clientbestand is ingesteld op het herschrijfpad. |
| RewritePath(String, String, String) |
Herschrijf de URL met behulp van het opgegeven pad, padinformatie en querytekenreeksgegevens. |
| RewritePath(String, Boolean) |
Herschrijf de URL met behulp van het opgegeven pad en een Booleaanse waarde die aangeeft of het virtuele pad voor serverresources wordt gewijzigd. |
| RewritePath(String) |
Herschrijf de URL met behulp van het opgegeven pad. |
RewritePath(String, String, String, Boolean)
Herschrijf de URL met behulp van het opgegeven virtuele pad, padinformatie, querytekenreeksinformatie en een Booleaanse waarde die aangeeft of het pad naar het clientbestand is ingesteld op het herschrijfpad.
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)
Parameters
- filePath
- String
Het virtuele pad naar de resource die de aanvraag verwerkt.
- pathInfo
- String
Aanvullende padinformatie die moet worden gebruikt voor de URL-omleiding. Zie PathInfo voor meer informatie.
- queryString
- String
De aanvraagqueryreeks die moet worden gebruikt voor de URL-omleiding.
- setClientFilePath
- Boolean
true om het bestandspad dat wordt gebruikt voor clientresources in te stellen op de waarde van de filePath parameter; anders false.
Uitzonderingen
De path parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
De filePath parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
Voorbeelden
Zie de overbelasting van de RewritePath(String) methode voor een codevoorbeeld.
Opmerkingen
De filePath parameter bevat niet de inhoud van de pathInfo parameter. Voor de URL http://www.microsoft.com/virdir/page.html/tailis de filePath parameter en http://www.microsoft.com/virdir/page.htmlde pathInfo parameter tail.
Als u ervoor wilt zorgen dat het virtuele pad dat wordt gebruikt om paden naar resources te maken, niet wordt gewijzigd, stelt u de setClientFilePath parameter in op false. Een veelvoorkomend scenario waarin u wilt instellen setClientFilePathfalse , is wanneer u de URL moet herschrijven en u thema's gebruikt en de URL omleidt naar een resource in een andere map dan de aangevraagde resource.
HET herschrijven van URL's is handig wanneer u de pagina's in uw webtoepassing wilt herstructureren en u ervoor wilt zorgen dat personen die oude URL's hebben voorzien van een bladwijzer, deze nog steeds kunnen gebruiken nadat u pagina's hebt verplaatst. Met URL-herschrijven kunt u aanvragen transparant doorsturen naar de nieuwe paginalocatie.
Als u wilt dat een site URL's gebruikt die gebruiksvriendelijker zijn en geoptimaliseerd zijn voor zoekmachines, is een robuuster alternatief het gebruik van ASP.NET routering. Zie ASP.NET Routing voor meer informatie.
Zie ook
Van toepassing op
RewritePath(String, String, String)
Herschrijf de URL met behulp van het opgegeven pad, padinformatie en querytekenreeksgegevens.
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)
Parameters
- filePath
- String
Het interne herschrijfpad.
- queryString
- String
De queryreeks van de aanvraag.
Uitzonderingen
De path parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
De filePath parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
Voorbeelden
Zie de overbelasting van de methode voor een codevoorbeeld, inclusief een voorbeeld van deze overbelasting van de RewritePath(String) methode.
Opmerkingen
Met RewritePath de methode wordt een aanvraag voor een resource omgeleid naar een andere resource zonder de URL te wijzigen.
De filePath parameter bevat niet de pathInfo parameterinhoud. Voor de URL http://www.microsoft.com/virdir/page.html/tailis de filePath parameter en http://www.microsoft.com/virdir/page.htmlde pathInfo parameter tail.
HET herschrijven van URL's is handig wanneer u de pagina's in uw webtoepassing wilt herstructureren en u ervoor wilt zorgen dat personen die oude URL's hebben voorzien van een bladwijzer, deze nog steeds kunnen gebruiken nadat u pagina's hebt verplaatst. Met URL-herschrijven kunt u aanvragen transparant doorsturen naar de nieuwe paginalocatie.
Als u wilt dat een site URL's gebruikt die gebruiksvriendelijker zijn en geoptimaliseerd zijn voor zoekmachines, is een robuuster alternatief het gebruik van ASP.NET routering. Zie ASP.NET Routing voor meer informatie.
Zie ook
Van toepassing op
RewritePath(String, Boolean)
Herschrijf de URL met behulp van het opgegeven pad en een Booleaanse waarde die aangeeft of het virtuele pad voor serverresources wordt gewijzigd.
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)
Parameters
- path
- String
Het interne herschrijfpad.
- rebaseClientPath
- Boolean
true om het virtuele pad opnieuw in te stellen; false om het virtuele pad ongewijzigd te houden.
Uitzonderingen
De path parameter is null.
De path parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
Voorbeelden
Zie de overbelasting van de RewritePath(String) methode voor een codevoorbeeld.
Opmerkingen
De HttpContext.RewritePath(String, Boolean) methode wordt aangeroepen door de HttpContext.RewritePath(String) methode met de rebaseClientPath parameter die is ingesteld op true. Als u ervoor wilt zorgen dat het virtuele pad dat wordt gebruikt om paden naar resources te maken, niet wordt gewijzigd, stelt u de rebaseClientPath parameter in op false. Een veelvoorkomend scenario waarin u wilt instellen rebaseClientPathfalse , is wanneer u de URL moet herschrijven en u thema's gebruikt en de URL omleidt naar een resource in een andere map dan de aangevraagde resource.
HET herschrijven van URL's is handig wanneer u de pagina's in uw webtoepassing wilt herstructureren en u ervoor wilt zorgen dat personen die oude URL's hebben voorzien van een bladwijzer, deze nog steeds kunnen gebruiken nadat u pagina's hebt verplaatst. Met URL-herschrijven kunt u aanvragen transparant doorsturen naar de nieuwe paginalocatie.
Als u wilt dat een site URL's gebruikt die gebruiksvriendelijker zijn en geoptimaliseerd zijn voor zoekmachines, is een robuuster alternatief het gebruik van ASP.NET routering. Zie ASP.NET Routing voor meer informatie.
Zie ook
Van toepassing op
RewritePath(String)
Herschrijf de URL met behulp van het opgegeven pad.
public:
void RewritePath(System::String ^ path);
public void RewritePath(string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parameters
- path
- String
Het interne herschrijfpad.
Uitzonderingen
De path parameter is null.
De path parameter bevindt zich niet in de hoofdmap van de huidige toepassing.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de RewritePath methode gebruikt om een website in staat te stellen te reageren op URL's die niet overeenkomen met de bestandsstructuur op de website. Het eerste codeblok is een ASP.NET webpagina met de naam RewritePath.aspx. Hiervoor is een queryreeks vereist. Als de naam van uw site WebSite1 is, wordt in de URL http://localhost/WebSite1/RewritePath.aspx?page=1 pagina 1 weergegeven in de browser. Het codeblok dat volgt op de webpagina is de Application_BeginRequest gebeurtenis-handler in het bestand Global.asax. Deze code onderschept aanvragen voor URL's, zoals http://localhost/WebSite1/page1 en converteert deze naar het formulier dat vereist is voor RewritePath.aspx voordat ze worden verwerkt. Daarom roept de URL http://localhost/WebSite1/page1 RewritePath.aspx aan met de querytekenreeksparameter die 'Pagina 1' in de browser weergeeft. Als een URL zoals http://localhost/WebSite1/page1 ontvangen, wordt een overbelasting aangeroepen RewritePath waarmee u een waarde voor de PathInfo eigenschap en een queryreeksparameter kunt opgeven.
<%@ 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
Opmerkingen
Met RewritePath(String) de methode wordt een aanvraag voor een resource omgeleid naar een ander pad dan het pad dat wordt aangegeven door de aangevraagde URL. Als u het virtuele pad opnieuw moet instellen zodat aanvragen van de client voor serverresources correct worden omgezet, gebruikt u de overbelasting van deze methode die de rebaseClientPath parameter gebruikt en stelt u de parameter in op false.
HET herschrijven van URL's is handig wanneer u de pagina's in uw webtoepassing wilt herstructureren en u ervoor wilt zorgen dat personen die oude URL's hebben voorzien van een bladwijzer, deze nog steeds kunnen gebruiken nadat u pagina's hebt verplaatst. Met URL-herschrijven kunt u aanvragen transparant doorsturen naar de nieuwe paginalocatie.
Als u wilt dat een site URL's gebruikt die gebruiksvriendelijker zijn en geoptimaliseerd zijn voor zoekmachines, is een robuuster alternatief het gebruik van ASP.NET routering. Zie ASP.NET Routing voor meer informatie.