HttpContext.RewritePath Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Redirige una solicitud para un recurso a una ruta de acceso diferente de la indicada por la dirección URL solicitada. Se utiliza RewritePath en el estado de sesión sin cookies para quitar los identificadores de sesión de las direcciones URL.
Sobrecargas
RewritePath(String, String, String, Boolean) |
Reescribe la dirección URL usando la ruta de acceso virtual dada, la información de la ruta de acceso, la información la de cadena de consulta y un valor booleano que especifica si la ruta de acceso del archivo del cliente se establece en la ruta de acceso de reescritura. |
RewritePath(String, String, String) |
Reescribe la dirección URL usando la ruta de acceso, la información de la ruta de acceso y la información de la cadena de consulta especificadas. |
RewritePath(String, Boolean) |
Reescribe la dirección URL usando la ruta de acceso dada y un valor booleano que especifica si se modifica la ruta de acceso virtual a los recursos del servidor. |
RewritePath(String) |
Reescribe la dirección URL usando la ruta de acceso dada. |
RewritePath(String, String, String, Boolean)
Reescribe la dirección URL usando la ruta de acceso virtual dada, la información de la ruta de acceso, la información la de cadena de consulta y un valor booleano que especifica si la ruta de acceso del archivo del cliente se establece en la ruta de acceso de reescritura.
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)
Parámetros
- filePath
- String
Ruta de acceso virtual al recurso que atiende la solicitud.
- pathInfo
- String
Información adicional de la ruta de acceso que se va a usar para redireccionar la dirección URL. Para obtener más información, vea PathInfo.
- queryString
- String
Cadena de consulta de solicitud que se va a usar para redireccionar la dirección URL.
- setClientFilePath
- Boolean
Es true
para establecer la ruta de acceso de los recursos del cliente en el valor del parámetro filePath
; en caso contrario, es false
.
Excepciones
El parámetro path
no se encuentra en el directorio raíz de la aplicación actual.
El parámetro filePath
no se encuentra en el directorio raíz de la aplicación actual.
Ejemplos
Para obtener un ejemplo de código, consulte la sobrecarga del RewritePath(String) método.
Comentarios
El filePath
parámetro no incluye el contenido del pathInfo
parámetro . Para la dirección URL http://www.microsoft.com/virdir/page.html/tail
, el filePath
parámetro es http://www.microsoft.com/virdir/page.html
y el pathInfo
parámetro es tail.
Para asegurarse de que la ruta de acceso virtual que se usa para construir rutas de acceso a recursos no se modifica, establezca el setClientFilePath
parámetro false
en . Un escenario común en el que es posible que desee establecer setClientFilePath
false
en es cuando necesite reescribir la dirección URL y use temas y redirija la dirección URL a un recurso ubicado en una carpeta diferente a la del recurso solicitado.
La reescritura de direcciones URL es útil cuando desea reestructurar las páginas de la aplicación web y quiere asegurarse de que las personas que han marcado direcciones URL antiguas todavía pueden usarlas después de haber movido páginas. La reescritura de direcciones URL le permite reenviar de forma transparente las solicitudes a la nueva ubicación de la página.
Si desea permitir que un sitio use direcciones URL que sean más fáciles de usar y estén optimizadas para motores de búsqueda, una alternativa más sólida es usar ASP.NET enrutamiento. Para obtener más información, consulte enrutamiento de ASP.NET.
Consulte también
- Enrutamiento de ASP.NET
- Tutorial: Uso del enrutamiento de ASP.NET en una aplicación de formularios web
Se aplica a
RewritePath(String, String, String)
Reescribe la dirección URL usando la ruta de acceso, la información de la ruta de acceso y la información de la cadena de consulta especificadas.
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)
Parámetros
- filePath
- String
Ruta de acceso de reescritura interna.
- pathInfo
- String
Información adicional de la ruta de acceso de un recurso. Para obtener más información, vea PathInfo.
- queryString
- String
Cadena de consulta de la solicitud.
Excepciones
El parámetro path
no se encuentra en el directorio raíz de la aplicación actual.
El parámetro filePath
no se encuentra en el directorio raíz de la aplicación actual.
Ejemplos
Para obtener un ejemplo de código, incluido un ejemplo de esta sobrecarga de método, consulte la sobrecarga del RewritePath(String) método.
Comentarios
El RewritePath método redirige una solicitud de un recurso a otro recurso sin cambiar la dirección URL.
El filePath
parámetro no incluye el contenido del pathInfo
parámetro. Para la dirección URL http://www.microsoft.com/virdir/page.html/tail
, el filePath
parámetro es http://www.microsoft.com/virdir/page.html
y el pathInfo
parámetro es tail.
La reescritura de direcciones URL es útil cuando desea reestructurar las páginas de la aplicación web y quiere asegurarse de que las personas que han marcado direcciones URL antiguas todavía pueden usarlas después de haber movido páginas. La reescritura de direcciones URL le permite reenviar de forma transparente las solicitudes a la nueva ubicación de la página.
Si desea permitir que un sitio use direcciones URL que sean más fáciles de usar y estén optimizadas para motores de búsqueda, una alternativa más sólida es usar ASP.NET enrutamiento. Para obtener más información, consulte enrutamiento de ASP.NET.
Consulte también
- Enrutamiento de ASP.NET
- Tutorial: Uso del enrutamiento de ASP.NET en una aplicación de formularios web
Se aplica a
RewritePath(String, Boolean)
Reescribe la dirección URL usando la ruta de acceso dada y un valor booleano que especifica si se modifica la ruta de acceso virtual a los recursos del servidor.
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)
Parámetros
- path
- String
Ruta de acceso de reescritura interna.
- rebaseClientPath
- Boolean
Es true
para restablecer la ruta de acceso virtual; es false
para mantener si cambios la ruta de acceso virtual.
Excepciones
El parámetro path
es null
.
El parámetro path
no se encuentra en el directorio raíz de la aplicación actual.
Ejemplos
Para obtener un ejemplo de código, consulte la sobrecarga del RewritePath(String) método.
Comentarios
El HttpContext.RewritePath(String, Boolean) método llama al HttpContext.RewritePath(String) método con el rebaseClientPath
parámetro establecido en true
. Para asegurarse de que la ruta de acceso virtual que se usa para construir rutas de acceso a recursos no se modifica, establezca el rebaseClientPath
parámetro false
en . Un escenario común en el que es posible que desee establecer rebaseClientPath
false
en es cuando necesite reescribir la dirección URL y use temas y redirija la dirección URL a un recurso ubicado en una carpeta diferente a la del recurso solicitado.
La reescritura de direcciones URL es útil cuando desea reestructurar las páginas de la aplicación web y quiere asegurarse de que las personas que han marcado direcciones URL antiguas todavía pueden usarlas después de haber movido páginas. La reescritura de direcciones URL le permite reenviar de forma transparente las solicitudes a la nueva ubicación de la página.
Si desea permitir que un sitio use direcciones URL que sean más fáciles de usar y estén optimizadas para motores de búsqueda, una alternativa más sólida es usar ASP.NET enrutamiento. Para obtener más información, consulte enrutamiento de ASP.NET.
Consulte también
- Enrutamiento de ASP.NET
- Tutorial: Uso del enrutamiento de ASP.NET en una aplicación de formularios web
Se aplica a
RewritePath(String)
Reescribe la dirección URL usando la ruta de acceso dada.
public:
void RewritePath(System::String ^ path);
public void RewritePath (string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parámetros
- path
- String
Ruta de acceso de reescritura interna.
Excepciones
El parámetro path
es null
.
El parámetro path
no se encuentra en el directorio raíz de la aplicación actual.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el RewritePath método para permitir que un sitio web responda a direcciones URL que no reflejen la estructura de archivos en el sitio web. El primer bloque de código es una página web de ASP.NET denominada RewritePath.aspx. Requiere una cadena de consulta. Si el nombre del sitio es WebSite1, la dirección URL http://localhost/WebSite1/RewritePath.aspx?page=1
muestra "Página 1" en el explorador. El bloque de código que sigue a la página web es el Application_BeginRequest
controlador de eventos en el archivo Global.asax. Este código intercepta las solicitudes de direcciones URL, como http://localhost/WebSite1/page1
y las convierte en el formulario necesario para RewritePath.aspx antes de procesarlas. Por lo tanto, la dirección URL http://localhost/WebSite1/page1
invoca RewritePath.aspx con el parámetro de cadena de consulta que muestra "Página 1" en el explorador. Si se recibe una dirección URL como http://localhost/WebSite1/page1
, se invoca una sobrecarga de RewritePath que permite proporcionar un valor para la PathInfo propiedad, así como un parámetro de cadena de consulta.
<%@ 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
Comentarios
El RewritePath(String) método redirige una solicitud de un recurso a una ruta de acceso diferente a la indicada por la dirección URL solicitada. Si tiene que restablecer la ruta de acceso virtual para que las solicitudes del cliente para los recursos del servidor se resuelvan correctamente, use la sobrecarga de este método que toma el rebaseClientPath
parámetro y establece el parámetro en false
.
La reescritura de direcciones URL es útil cuando desea reestructurar las páginas de la aplicación web y quiere asegurarse de que las personas que han marcado direcciones URL antiguas todavía pueden usarlas después de haber movido páginas. La reescritura de direcciones URL le permite reenviar de forma transparente las solicitudes a la nueva ubicación de la página.
Si desea permitir que un sitio use direcciones URL que sean más fáciles de usar y estén optimizadas para motores de búsqueda, una alternativa más sólida es usar ASP.NET enrutamiento. Para obtener más información, consulte enrutamiento de ASP.NET.
Consulte también
- Enrutamiento de ASP.NET
- Tutorial: Uso del enrutamiento de ASP.NET en una aplicación de formularios web