HttpContext.RewritePath Methode

Definitie

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.

pathInfo
String

Aanvullende padinformatie voor een resource. Zie PathInfo voor meer informatie.

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.

Zie ook

Van toepassing op