HttpContext.RewritePath Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Redirige une requête d’une ressource vers un chemin différent de celui indiqué par l’URL demandée. RewritePath est utilisé dans l’état de session sans cookie pour supprimer les ID de session à partir d’URL.
Surcharges
| Nom | Description |
|---|---|
| RewritePath(String, String, String, Boolean) |
Réécrit l’URL à l’aide du chemin d’accès virtuel, des informations de chemin d’accès, des informations de chaîne de requête et d’une valeur booléenne qui spécifie si le chemin du fichier client est défini sur le chemin de réécriture. |
| RewritePath(String, String, String) |
Réécrit l’URL à l’aide du chemin d’accès, des informations de chemin d’accès et des informations de chaîne de requête donnés. |
| RewritePath(String, Boolean) |
Réécrit l’URL à l’aide du chemin d’accès donné et d’une valeur booléenne qui spécifie si le chemin virtuel des ressources du serveur est modifié. |
| RewritePath(String) |
Réécrit l’URL à l’aide du chemin donné. |
RewritePath(String, String, String, Boolean)
Réécrit l’URL à l’aide du chemin d’accès virtuel, des informations de chemin d’accès, des informations de chaîne de requête et d’une valeur booléenne qui spécifie si le chemin du fichier client est défini sur le chemin de réécriture.
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)
Paramètres
- filePath
- String
Chemin d’accès virtuel à la ressource qui services la requête.
- pathInfo
- String
Informations de chemin d’accès supplémentaires à utiliser pour la redirection d’URL. Pour plus d’informations, consultez PathInfo.
- queryString
- String
Chaîne de requête de requête à utiliser pour la redirection d’URL.
- setClientFilePath
- Boolean
true pour définir le chemin d’accès au fichier utilisé pour les ressources clientes sur la valeur du filePath paramètre ; sinon false.
Exceptions
Le path paramètre n’est pas dans le répertoire racine de l’application actuelle.
Le filePath paramètre n’est pas dans le répertoire racine de l’application actuelle.
Exemples
Pour obtenir un exemple de code, consultez la surcharge de méthode RewritePath(String) .
Remarques
Le filePath paramètre n’inclut pas le contenu du pathInfo paramètre. Pour l’URL http://www.microsoft.com/virdir/page.html/tail, le filePath paramètre est http://www.microsoft.com/virdir/page.html, et le pathInfo paramètre est tail.
Pour vous assurer que le chemin d’accès virtuel utilisé pour construire des chemins d’accès aux ressources n’est pas modifié, définissez le setClientFilePath paramètre falsesur . Un scénario courant dans lequel vous souhaiterez peut-être définir setClientFilePathfalse est le moment où vous devez réécrire l’URL, et vous utilisez des thèmes et redirigez l’URL vers une ressource située dans un autre dossier que la ressource demandée.
La réécriture d’URL est utile lorsque vous souhaitez restructurer les pages de votre application web et vous souhaitez vous assurer que les personnes qui ont signet les anciennes URL peuvent toujours les utiliser une fois que vous avez déplacé des pages. La réécriture d’URL vous permet de transférer en toute transparence les demandes vers le nouvel emplacement de la page.
Si vous souhaitez permettre à un site d’utiliser des URL plus conviviales et optimisées pour les moteurs de recherche, une alternative plus robuste consiste à utiliser ASP.NET routage. Pour plus d’informations, consultez ASP.NET Routage.
Voir aussi
S’applique à
RewritePath(String, String, String)
Réécrit l’URL à l’aide du chemin d’accès, des informations de chemin d’accès et des informations de chaîne de requête donnés.
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)
Paramètres
- filePath
- String
Chemin de réécriture interne.
- pathInfo
- String
Informations supplémentaires sur le chemin d’accès d’une ressource. Pour plus d’informations, consultez PathInfo.
- queryString
- String
Chaîne de requête de requête.
Exceptions
Le path paramètre n’est pas dans le répertoire racine de l’application actuelle.
Le filePath paramètre n’est pas dans le répertoire racine de l’application actuelle.
Exemples
Pour obtenir un exemple de code, y compris un exemple de cette surcharge de méthode, consultez la RewritePath(String) surcharge de méthode.
Remarques
La RewritePath méthode redirige une demande de ressource vers une autre ressource sans modifier l’URL.
Le filePath paramètre n’inclut pas le contenu du pathInfo paramètre. Pour l’URL http://www.microsoft.com/virdir/page.html/tail, le filePath paramètre est http://www.microsoft.com/virdir/page.html, et le pathInfo paramètre est tail.
La réécriture d’URL est utile lorsque vous souhaitez restructurer les pages de votre application web et vous souhaitez vous assurer que les personnes qui ont signet les anciennes URL peuvent toujours les utiliser une fois que vous avez déplacé des pages. La réécriture d’URL vous permet de transférer en toute transparence les demandes vers le nouvel emplacement de la page.
Si vous souhaitez permettre à un site d’utiliser des URL plus conviviales et optimisées pour les moteurs de recherche, une alternative plus robuste consiste à utiliser ASP.NET routage. Pour plus d’informations, consultez ASP.NET Routage.
Voir aussi
S’applique à
RewritePath(String, Boolean)
Réécrit l’URL à l’aide du chemin d’accès donné et d’une valeur booléenne qui spécifie si le chemin virtuel des ressources du serveur est modifié.
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)
Paramètres
- path
- String
Chemin de réécriture interne.
- rebaseClientPath
- Boolean
true pour réinitialiser le chemin d’accès virtuel ; false pour conserver le chemin d’accès virtuel inchangé.
Exceptions
Le path paramètre est null.
Le path paramètre n’est pas dans le répertoire racine de l’application actuelle.
Exemples
Pour obtenir un exemple de code, consultez la surcharge de méthode RewritePath(String) .
Remarques
La HttpContext.RewritePath(String, Boolean) méthode est appelée par la HttpContext.RewritePath(String) méthode avec le rebaseClientPath paramètre défini sur true. Pour vous assurer que le chemin d’accès virtuel utilisé pour construire des chemins d’accès aux ressources n’est pas modifié, définissez le rebaseClientPath paramètre falsesur . Un scénario courant dans lequel vous souhaiterez peut-être définir rebaseClientPathfalse est le moment où vous devez réécrire l’URL, et vous utilisez des thèmes et redirigez l’URL vers une ressource située dans un autre dossier que la ressource demandée.
La réécriture d’URL est utile lorsque vous souhaitez restructurer les pages de votre application web et vous souhaitez vous assurer que les personnes qui ont signet les anciennes URL peuvent toujours les utiliser une fois que vous avez déplacé des pages. La réécriture d’URL vous permet de transférer en toute transparence les demandes vers le nouvel emplacement de la page.
Si vous souhaitez permettre à un site d’utiliser des URL plus conviviales et optimisées pour les moteurs de recherche, une alternative plus robuste consiste à utiliser ASP.NET routage. Pour plus d’informations, consultez ASP.NET Routage.
Voir aussi
S’applique à
RewritePath(String)
Réécrit l’URL à l’aide du chemin donné.
public:
void RewritePath(System::String ^ path);
public void RewritePath(string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Paramètres
- path
- String
Chemin de réécriture interne.
Exceptions
Le path paramètre est null.
Le path paramètre n’est pas dans le répertoire racine de l’application actuelle.
Exemples
L’exemple suivant montre comment utiliser la RewritePath méthode pour permettre à un site Web de répondre aux URL qui ne reflètent pas la structure de fichiers dans le site Web. Le premier bloc de code est une page web ASP.NET nommée RewritePath.aspx. Elle nécessite une chaîne de requête. Si le nom de votre site est WebSite1, l’URL http://localhost/WebSite1/RewritePath.aspx?page=1 affiche « Page 1 » dans le navigateur. Le bloc de code qui suit la page Web est le Application_BeginRequest gestionnaire d’événements dans le fichier Global.asax. Ce code intercepte les demandes d’URL telles que http://localhost/WebSite1/page1 celles-ci et les convertit en formulaire requis pour RewritePath.aspx avant leur traitement. Par conséquent, l’URL http://localhost/WebSite1/page1 appelle RewritePath.aspx avec le paramètre de chaîne de requête qui affiche « Page 1 » dans le navigateur. Si une URL telle qu’elle http://localhost/WebSite1/page1 est reçue, une surcharge est RewritePath appelée qui vous permet de fournir une valeur pour la PathInfo propriété ainsi qu’un paramètre de chaîne de requête.
<%@ 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
Remarques
La RewritePath(String) méthode redirige une requête d’une ressource vers un chemin différent de celui indiqué par l’URL demandée. Si vous devez réinitialiser le chemin d’accès virtuel afin que les requêtes du client pour les ressources du serveur soient résolues correctement, utilisez la surcharge de cette méthode qui prend le rebaseClientPath paramètre et définissez le paramètre falsesur .
La réécriture d’URL est utile lorsque vous souhaitez restructurer les pages de votre application web et vous souhaitez vous assurer que les personnes qui ont signet les anciennes URL peuvent toujours les utiliser une fois que vous avez déplacé des pages. La réécriture d’URL vous permet de transférer en toute transparence les demandes vers le nouvel emplacement de la page.
Si vous souhaitez permettre à un site d’utiliser des URL plus conviviales et optimisées pour les moteurs de recherche, une alternative plus robuste consiste à utiliser ASP.NET routage. Pour plus d’informations, consultez ASP.NET Routage.