HttpContext.RewritePath Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy erőforrás kérését a kért URL-címtől eltérő elérési útra irányítja át. RewritePath cookie nélküli munkamenet-állapotban használják a munkamenet-azonosítók URL-címekről való leválasztására.
Túlterhelések
| Name | Description |
|---|---|
| RewritePath(String, String, String, Boolean) |
Írja át az URL-címet a megadott virtuális elérési út, útvonaladatok, lekérdezési sztringadatok és logikai érték használatával, amely meghatározza, hogy az ügyfélfájl elérési útja az újraírási útvonalra van-e beállítva. |
| RewritePath(String, String, String) |
Írja át az URL-címet a megadott elérési út, útvonaladatok és lekérdezési sztringadatok használatával. |
| RewritePath(String, Boolean) |
Írja át az URL-címet a megadott elérési út és egy logikai érték használatával, amely meghatározza, hogy a kiszolgálóerőforrások virtuális elérési útja módosul-e. |
| RewritePath(String) |
Írja át az URL-címet a megadott elérési út használatával. |
RewritePath(String, String, String, Boolean)
Írja át az URL-címet a megadott virtuális elérési út, útvonaladatok, lekérdezési sztringadatok és logikai érték használatával, amely meghatározza, hogy az ügyfélfájl elérési útja az újraírási útvonalra van-e beállítva.
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éterek
- filePath
- String
A kérést kiszolgáló erőforrás virtuális elérési útja.
- pathInfo
- String
Az URL-átirányításhoz használandó további elérésiút-információk. További információért lásd PathInfo.
- queryString
- String
Az URL-átirányításhoz használandó lekérdezési sztring.
- setClientFilePath
- Boolean
true az ügyfélerőforrásokhoz használt fájl elérési útjának beállítása a filePath paraméter értékére; ellenkező esetben false.
Kivételek
A path paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
A filePath paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
Példák
Példakódért tekintse meg a metódus túlterhelését RewritePath(String) .
Megjegyzések
A filePath paraméter nem tartalmazza a pathInfo paraméter tartalmát. Az URL-cím http://www.microsoft.com/virdir/page.html/tailesetében a filePath paraméter az http://www.microsoft.com/virdir/page.html, a paraméter pedig a pathInfo tail.
Annak érdekében, hogy az erőforrások elérési útjainak létrehozásához használt virtuális elérési út ne legyen módosítva, állítsa a paramétert a setClientFilePath következőre false: . Gyakori eset, setClientFilePathfalse amikor át kell írnia az URL-címet, és témákat használ, és átirányítja az URL-címet egy, a kért erőforrástól eltérő mappában található erőforrásra.
Az URL-átírás akkor hasznos, ha át szeretné alakítani a webalkalmazás lapjait, és meg szeretné győződni arról, hogy a régi URL-címekkel rendelkező személyek továbbra is használhatják őket a lapok áthelyezése után. Az URL-átírással transzparens módon továbbíthatja a kéréseket az új lap helyére.
Ha engedélyezni szeretné, hogy egy webhely felhasználóbarátabb URL-címeket használjon, és keresőmotorokra van optimalizálva, robusztusabb alternatíva az ASP.NET útválasztás használata. További információ: ASP.NET Útválasztás.
Lásd még
A következőre érvényes:
RewritePath(String, String, String)
Írja át az URL-címet a megadott elérési út, útvonaladatok és lekérdezési sztringadatok használatával.
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éterek
- filePath
- String
A belső átírási útvonal.
- pathInfo
- String
További elérésiút-információk egy erőforráshoz. További információért lásd PathInfo.
- queryString
- String
A kérelem lekérdezési sztringje.
Kivételek
A path paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
A filePath paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
Példák
Egy példakódra, beleértve a metódus túlterhelésére vonatkozó példát, tekintse meg a metódus túlterhelését RewritePath(String) .
Megjegyzések
A RewritePath metódus az URL-cím módosítása nélkül átirányít egy erőforrásra vonatkozó kérést egy másik erőforrásra.
A filePath paraméter nem tartalmazza a pathInfo paraméter tartalmát. Az URL-cím http://www.microsoft.com/virdir/page.html/tailesetében a filePath paraméter az http://www.microsoft.com/virdir/page.html, a paraméter pedig a pathInfo tail.
Az URL-átírás akkor hasznos, ha át szeretné alakítani a webalkalmazás lapjait, és meg szeretné győződni arról, hogy a régi URL-címekkel rendelkező személyek továbbra is használhatják őket a lapok áthelyezése után. Az URL-átírással transzparens módon továbbíthatja a kéréseket az új lap helyére.
Ha engedélyezni szeretné, hogy egy webhely felhasználóbarátabb URL-címeket használjon, és keresőmotorokra van optimalizálva, robusztusabb alternatíva az ASP.NET útválasztás használata. További információ: ASP.NET Útválasztás.
Lásd még
A következőre érvényes:
RewritePath(String, Boolean)
Írja át az URL-címet a megadott elérési út és egy logikai érték használatával, amely meghatározza, hogy a kiszolgálóerőforrások virtuális elérési útja módosul-e.
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éterek
- path
- String
A belső átírási útvonal.
- rebaseClientPath
- Boolean
true a virtuális elérési út alaphelyzetbe állítása; false a virtuális elérési út változatlan marad.
Kivételek
A path paraméter a következő null: .
A path paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
Példák
Példakódért tekintse meg a metódus túlterhelését RewritePath(String) .
Megjegyzések
A HttpContext.RewritePath(String, Boolean) metódust a HttpContext.RewritePath(String) metódus hívja meg, és a paraméter értéke rebaseClientPath a következő.true Annak érdekében, hogy az erőforrások elérési útjainak létrehozásához használt virtuális elérési út ne legyen módosítva, állítsa a paramétert a rebaseClientPath következőre false: . Gyakori eset, rebaseClientPathfalse amikor át kell írnia az URL-címet, és témákat használ, és átirányítja az URL-címet egy, a kért erőforrástól eltérő mappában található erőforrásra.
Az URL-átírás akkor hasznos, ha át szeretné alakítani a webalkalmazás lapjait, és meg szeretné győződni arról, hogy a régi URL-címekkel rendelkező személyek továbbra is használhatják őket a lapok áthelyezése után. Az URL-átírással transzparens módon továbbíthatja a kéréseket az új lap helyére.
Ha engedélyezni szeretné, hogy egy webhely felhasználóbarátabb URL-címeket használjon, és keresőmotorokra van optimalizálva, robusztusabb alternatíva az ASP.NET útválasztás használata. További információ: ASP.NET Útválasztás.
Lásd még
A következőre érvényes:
RewritePath(String)
Írja át az URL-címet a megadott elérési út használatával.
public:
void RewritePath(System::String ^ path);
public void RewritePath(string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Paraméterek
- path
- String
A belső átírási útvonal.
Kivételek
A path paraméter a következő null: .
A path paraméter nem az aktuális alkalmazás gyökérkönyvtárában található.
Példák
Az alábbi példa bemutatja, hogyan használható a RewritePath módszer arra, hogy egy webhely válaszoljon a webhely fájlstruktúráját nem tükröző URL-címekre. Az első kódblokk egy ASP.NET weblap, amely RewritePath.aspx nevű. Lekérdezési sztringre van szükség. Ha a webhely neve WebSite1, az URL-cím http://localhost/WebSite1/RewritePath.aspx?page=1 az "1. oldal" szöveget jeleníti meg a böngészőben. A weblapot követő kódblokk a Application_BeginRequest Global.asax fájl eseménykezelője. Ez a kód elfogja az URL-címekre vonatkozó kéréseket, például http://localhost/WebSite1/page1 a feldolgozásuk előtt a RewritePath.aspx szükséges űrlapra konvertálja őket. Ezért az URL meghívja http://localhost/WebSite1/page1 a RewritePath.aspx a lekérdezési sztring paraméterrel, amely az "1. oldal" értéket jeleníti meg a böngészőben. Ha olyan URL-cím érkezik, mint http://localhost/WebSite1/page1 a fogadás, a rendszer túlterhelést RewritePath hív meg, amely lehetővé teszi a tulajdonság értékének és egy lekérdezési sztringparaméternek a PathInfo megadását.
<%@ 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
Megjegyzések
A RewritePath(String) metódus egy erőforrás kérését a kért URL-címtől eltérő útvonalra irányítja át. Ha alaphelyzetbe kell állítania a virtuális útvonalat, hogy az ügyfél kiszolgálóerőforrás-kérései megfelelően oldódjanak fel, használja ennek a metódusnak a túlterhelését, amely felveszi a rebaseClientPath paramétert, és a paramétert a következőre falseállítja.
Az URL-átírás akkor hasznos, ha át szeretné alakítani a webalkalmazás lapjait, és meg szeretné győződni arról, hogy a régi URL-címekkel rendelkező személyek továbbra is használhatják őket a lapok áthelyezése után. Az URL-átírással transzparens módon továbbíthatja a kéréseket az új lap helyére.
Ha engedélyezni szeretné, hogy egy webhely felhasználóbarátabb URL-címeket használjon, és keresőmotorokra van optimalizálva, robusztusabb alternatíva az ASP.NET útválasztás használata. További információ: ASP.NET Útválasztás.