HttpContext.RewritePath Metodo

Definizione

Reindirizza una richiesta di una risorsa a un percorso diverso da quello indicato dall'URL richiesto.Redirects a request for a resource to a different path than the one that is indicated by the requested URL. RewritePath viene utilizzato nello stato sessione senza cookie per rimuovere ID sessione dagli URL.RewritePath is used in cookieless session state to strip session IDs from URLs.

Overload

RewritePath(String, String, String, Boolean)

Riscrive l'URL con il percorso virtuale specificato, informazioni sul percorso, informazioni sulla stringa di query e un valore booleano che specifica se il percorso del file del client è impostato sul percorso di riscrittura.Rewrites the URL using the given virtual path, path information, query string information, and a Boolean value that specifies whether the client file path is set to the rewrite path.

RewritePath(String, String, String)

Riscrive l'URL usando il percorso specificato, le informazioni sul percorso e le informazioni sulla stringa di query.Rewrites the URL by using the given path, path information, and query string information.

RewritePath(String, Boolean)

Riscrive l'URL con il percorso specificato e un valore booleano che specifica se il percorso virtuale per le risorse del server è stato modificato.Rewrites the URL using the given path and a Boolean value that specifies whether the virtual path for server resources is modified.

RewritePath(String)

Riscrive l'URL con il percorso specificato.Rewrites the URL using the given path.

RewritePath(String, String, String, Boolean)

Riscrive l'URL con il percorso virtuale specificato, informazioni sul percorso, informazioni sulla stringa di query e un valore booleano che specifica se il percorso del file del client è impostato sul percorso di riscrittura.Rewrites the URL using the given virtual path, path information, query string information, and a Boolean value that specifies whether the client file path is set to the rewrite path.

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)

Parametri

filePath
String

Il percorso virtuale alla risorsa che gestisce la richiesta.The virtual path to the resource that services the request.

pathInfo
String

Informazioni aggiuntive sul percorso da utilizzare per il reindirizzamento dell'URL.Additional path information to use for the URL redirect. Per altre informazioni, vedere PathInfo.For more information, see PathInfo.

queryString
String

La stringa di query della richiesta da utilizzare per il reindirizzamento dell'URL.The request query string to use for the URL redirect.

setClientFilePath
Boolean

true per impostare il percorso dei file utilizzato per le risorse del client sul valore del parametro filePath; in caso contrario, false.true to set the file path used for client resources to the value of the filePath parameter; otherwise false.

Eccezioni

Il parametro path non si trova nella directory radice dell'applicazione corrente.The path parameter is not in the current application's root directory.

Il parametro filePath non si trova nella directory radice dell'applicazione corrente.The filePath parameter is not in the current application's root directory.

Esempi

Per un esempio di codice, vedere l'overload del metodo RewritePath(String).For a code example, see the RewritePath(String) method overload.

Commenti

Il parametro filePath non include il contenuto del parametro pathInfo.The filePath parameter does not include the content of the pathInfo parameter. Per il http://www.microsoft.com/virdir/page.html/tailURL, viene http://www.microsoft.com/virdir/page.htmlil parametro filePath e il parametro pathInfo è tail.For the URL http://www.microsoft.com/virdir/page.html/tail, the filePath parameter is http://www.microsoft.com/virdir/page.html, and the pathInfo parameter is tail.

Per assicurarsi che il percorso virtuale usato per costruire i percorsi delle risorse non venga modificato, impostare il parametro setClientFilePath su false.To ensure that the virtual path that is used to construct paths to resources is not modified, set the setClientFilePath parameter to false. Uno scenario comune in cui è possibile impostare setClientFilePath su false è quando è necessario riscrivere l'URL e si usano temi e si reindirizza l'URL a una risorsa che si trova in una cartella diversa rispetto alla risorsa richiesta.A common scenario in which you might want to set setClientFilePath to false is when you need to rewrite the URL, and you are using themes and redirecting the URL to a resource located in a different folder than the requested resource.

La riscrittura degli URL è utile quando si desidera ristrutturare le pagine dell'applicazione Web e si desidera assicurarsi che le persone con URL obsoleti con segnalibro possano ancora usarle dopo lo spostamento delle pagine.URL rewriting is useful when you want to restructure the pages in your Web application, and you want to make sure that people who have bookmarked old URLs can still use them after you have moved pages. La riscrittura degli URL consente di inviare le richieste in modo trasparente al nuovo percorso della pagina.URL rewriting enables you to transparently forward requests to the new page location.

Se si vuole consentire a un sito di usare URL più semplici e ottimizzati per i motori di ricerca, un'alternativa più affidabile consiste nell'usare il routing ASP.NET.If you want to enable a site to use URLs that are more user-friendly and are optimized for search engines, a more robust alternative is to use ASP.NET routing. Per ulteriori informazioni, vedere ASP.NET routing.For more information, see ASP.NET Routing.

Vedi anche

RewritePath(String, String, String)

Riscrive l'URL usando il percorso specificato, le informazioni sul percorso e le informazioni sulla stringa di query.Rewrites the URL by using the given path, path information, and query string information.

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)

Parametri

filePath
String

Percorso di riscrittura interno.The internal rewrite path.

pathInfo
String

Informazioni aggiuntive sul percorso di una risorsa.Additional path information for a resource. Per altre informazioni, vedere PathInfo.For more information, see PathInfo.

queryString
String

Stringa di query della richiesta.The request query string.

Eccezioni

Il parametro path non si trova nella directory radice dell'applicazione corrente.The path parameter is not in the current application's root directory.

Il parametro filePath non si trova nella directory radice dell'applicazione corrente.The filePath parameter is not in the current application's root directory.

Esempi

Per un esempio di codice, incluso un esempio di questo overload del metodo, vedere l'overload del metodo RewritePath(String).For a code example, including an example of this method overload, see the RewritePath(String) method overload.

Commenti

Il metodo RewritePath reindirizza una richiesta di una risorsa a un'altra risorsa senza modificare l'URL.The RewritePath method redirects a request for a resource to another resource without changing the URL.

Il parametro filePath non include il contenuto del parametro pathInfo.The filePath parameter does not include the pathInfo parameter content. Per il http://www.microsoft.com/virdir/page.html/tailURL, viene http://www.microsoft.com/virdir/page.htmlil parametro filePath e il parametro pathInfo è tail.For the URL http://www.microsoft.com/virdir/page.html/tail, the filePath parameter is http://www.microsoft.com/virdir/page.html, and the pathInfo parameter is tail.

La riscrittura degli URL è utile quando si desidera ristrutturare le pagine dell'applicazione Web e si desidera assicurarsi che le persone con URL obsoleti con segnalibro possano ancora usarle dopo lo spostamento delle pagine.URL rewriting is useful when you want to restructure the pages in your Web application, and you want to make sure that people who have bookmarked old URLs can still use them after you have moved pages. La riscrittura degli URL consente di inviare le richieste in modo trasparente al nuovo percorso della pagina.URL rewriting enables you to transparently forward requests to the new page location.

Se si vuole consentire a un sito di usare URL più semplici e ottimizzati per i motori di ricerca, un'alternativa più affidabile consiste nell'usare il routing ASP.NET.If you want to enable a site to use URLs that are more user-friendly and are optimized for search engines, a more robust alternative is to use ASP.NET routing. Per ulteriori informazioni, vedere ASP.NET routing.For more information, see ASP.NET Routing.

Vedi anche

RewritePath(String, Boolean)

Riscrive l'URL con il percorso specificato e un valore booleano che specifica se il percorso virtuale per le risorse del server è stato modificato.Rewrites the URL using the given path and a Boolean value that specifies whether the virtual path for server resources is modified.

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)

Parametri

path
String

Percorso di riscrittura interno.The internal rewrite path.

rebaseClientPath
Boolean

true per reimpostare il percorso virtuale, false per mantenere tale percorso invariato.true to reset the virtual path; false to keep the virtual path unchanged.

Eccezioni

Il valore del parametro path è null.The path parameter is null.

Il parametro path non si trova nella directory radice dell'applicazione corrente.The path parameter is not in the current application's root directory.

Esempi

Per un esempio di codice, vedere l'overload del metodo RewritePath(String).For a code example, see the RewritePath(String) method overload.

Commenti

Il metodo HttpContext.RewritePath(String, Boolean) viene chiamato dal metodo HttpContext.RewritePath(String) con il parametro rebaseClientPath impostato su true.The HttpContext.RewritePath(String, Boolean) method is called by the HttpContext.RewritePath(String) method with the rebaseClientPath parameter set to true. Per assicurarsi che il percorso virtuale usato per costruire i percorsi delle risorse non venga modificato, impostare il parametro rebaseClientPath su false.To ensure that the virtual path that is used to construct paths to resources is not modified, set the rebaseClientPath parameter to false. Uno scenario comune in cui è possibile impostare rebaseClientPath su false è quando è necessario riscrivere l'URL e si usano temi e si reindirizza l'URL a una risorsa che si trova in una cartella diversa rispetto alla risorsa richiesta.A common scenario in which you might want to set rebaseClientPath to false is when you need to rewrite the URL, and you are using themes and redirecting the URL to a resource located in a different folder than the requested resource.

La riscrittura degli URL è utile quando si desidera ristrutturare le pagine dell'applicazione Web e si desidera assicurarsi che le persone con URL obsoleti con segnalibro possano ancora usarle dopo lo spostamento delle pagine.URL rewriting is useful when you want to restructure the pages in your Web application, and you want to make sure that people who have bookmarked old URLs can still use them after you have moved pages. La riscrittura degli URL consente di inviare le richieste in modo trasparente al nuovo percorso della pagina.URL rewriting enables you to transparently forward requests to the new page location.

Se si vuole consentire a un sito di usare URL più semplici e ottimizzati per i motori di ricerca, un'alternativa più affidabile consiste nell'usare il routing ASP.NET.If you want to enable a site to use URLs that are more user-friendly and are optimized for search engines, a more robust alternative is to use ASP.NET routing. Per ulteriori informazioni, vedere ASP.NET routing.For more information, see ASP.NET Routing.

Vedi anche

RewritePath(String)

Riscrive l'URL con il percorso specificato.Rewrites the URL using the given path.

public:
 void RewritePath(System::String ^ path);
public void RewritePath (string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)

Parametri

path
String

Percorso di riscrittura interno.The internal rewrite path.

Eccezioni

Il valore del parametro path è null.The path parameter is null.

Il parametro path non si trova nella directory radice dell'applicazione corrente.The path parameter is not in the current application's root directory.

Esempi

Nell'esempio seguente viene illustrato come utilizzare il metodo RewritePath per consentire a un sito Web di rispondere agli URL che non riflettono la struttura dei file nel sito Web.The following example shows how to use the RewritePath method to enable a Web site to respond to URLs that do not reflect the file structure in the Web site. Il primo blocco di codice è una pagina Web di ASP.NET denominata RewritePath. aspx.The first block of code is an ASP.NET Web page that is named RewritePath.aspx. Richiede una stringa di query.It requires a query string. Se il nome del sito è WebSite1, l'URL http://localhost/WebSite1/RewritePath.aspx?page=1 Visualizza "pagina 1" nel browser.If the name of your site is WebSite1, the URL http://localhost/WebSite1/RewritePath.aspx?page=1 displays "Page 1" in the browser. Il blocco di codice che segue la pagina Web è il gestore dell'evento Application_BeginRequest nel file Global. asax.The block of code that follows the Web page is the Application_BeginRequest event handler in the Global.asax file. Questo codice intercetta le richieste di URL, ad esempio http://localhost/WebSite1/page1, e le converte nel formato necessario per RewritePath. aspx prima di essere elaborate.This code intercepts requests for URLs such as http://localhost/WebSite1/page1 and converts them to the form that is required for RewritePath.aspx before they are processed. Pertanto, l'URL http://localhost/WebSite1/page1 richiama RewritePath. aspx con il parametro della stringa di query che Visualizza "pagina 1" nel browser.Therefore, the URL http://localhost/WebSite1/page1 invokes RewritePath.aspx with the query-string parameter that displays "Page 1" in the browser. Se viene ricevuto un URL come http://localhost/WebSite1/page1, viene richiamato un overload di RewritePath che consente di fornire un valore per la proprietà PathInfo e un parametro della stringa di query.If a URL such as http://localhost/WebSite1/page1 is received, an overload of RewritePath is invoked that enables you to provide a value for the PathInfo property as well as a query string parameter.

<%@ 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

Commenti

Il metodo RewritePath(String) reindirizza una richiesta di una risorsa a un percorso diverso da quello indicato dall'URL richiesto.The RewritePath(String) method redirects a request for a resource to a different path than the one that is indicated by the requested URL. Se è necessario reimpostare il percorso virtuale in modo che le richieste del client per le risorse del server vengano risolte correttamente, usare l'overload di questo metodo che accetta il parametro rebaseClientPath e impostare il parametro su false.If you have to reset the virtual path so that requests from the client for server resources resolve correctly, use the overload of this method that takes the rebaseClientPath parameter and set the parameter to false.

La riscrittura degli URL è utile quando si desidera ristrutturare le pagine dell'applicazione Web e si desidera assicurarsi che le persone con URL obsoleti con segnalibro possano ancora usarle dopo lo spostamento delle pagine.URL rewriting is useful when you want to restructure the pages in your Web application, and you want to make sure that people who have bookmarked old URLs can still use them after you have moved pages. La riscrittura degli URL consente di inviare le richieste in modo trasparente al nuovo percorso della pagina.URL rewriting enables you to transparently forward requests to the new page location.

Se si vuole consentire a un sito di usare URL più semplici e ottimizzati per i motori di ricerca, un'alternativa più affidabile consiste nell'usare il routing ASP.NET.If you want to enable a site to use URLs that are more user-friendly and are optimized for search engines, a more robust alternative is to use ASP.NET routing. Per ulteriori informazioni, vedere ASP.NET routing.For more information, see ASP.NET Routing.

Vedi anche

Si applica a