HttpContext.RewritePath Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengalihkan permintaan sumber daya ke jalur yang berbeda dari yang ditunjukkan oleh URL yang diminta. RewritePath digunakan dalam status sesi tanpa cookie untuk menghapus ID sesi dari URL.
Overload
RewritePath(String, String, String, Boolean) |
Menulis ulang URL menggunakan jalur virtual yang diberikan, informasi jalur, informasi string kueri, dan nilai Boolean yang menentukan apakah jalur file klien diatur ke jalur penulisan ulang. |
RewritePath(String, String, String) |
Menulis ulang URL dengan menggunakan informasi jalur, informasi jalur, dan string kueri yang diberikan. |
RewritePath(String, Boolean) |
Menulis ulang URL menggunakan jalur yang diberikan dan nilai Boolean yang menentukan apakah jalur virtual untuk sumber daya server dimodifikasi. |
RewritePath(String) |
Menulis ulang URL menggunakan jalur yang diberikan. |
RewritePath(String, String, String, Boolean)
Menulis ulang URL menggunakan jalur virtual yang diberikan, informasi jalur, informasi string kueri, dan nilai Boolean yang menentukan apakah jalur file klien diatur ke jalur penulisan ulang.
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)
Parameter
- filePath
- String
Jalur virtual ke sumber daya yang melayani permintaan.
- pathInfo
- String
Informasi jalur tambahan yang akan digunakan untuk pengalihan URL. Untuk informasi selengkapnya, lihat PathInfo.
- queryString
- String
String kueri permintaan yang digunakan untuk pengalihan URL.
- setClientFilePath
- Boolean
true
untuk mengatur jalur file yang digunakan untuk sumber daya klien ke nilai filePath
parameter; jika tidak false
.
Pengecualian
Parameter path
tidak ada di direktori akar aplikasi saat ini.
Parameter filePath
tidak ada di direktori akar aplikasi saat ini.
Contoh
Untuk contoh kode, lihat RewritePath(String) metode kelebihan beban.
Keterangan
Parameter filePath
tidak menyertakan konten pathInfo
parameter. Untuk URL http://www.microsoft.com/virdir/page.html/tail
, parameternya filePath
adalah http://www.microsoft.com/virdir/page.html
, dan pathInfo
parameternya adalah ekor.
Untuk memastikan bahwa jalur virtual yang digunakan untuk membuat jalur ke sumber daya tidak dimodifikasi, atur parameter ke setClientFilePath
false
. Skenario umum di mana Anda mungkin ingin mengatur setClientFilePath
ke false
adalah ketika Anda perlu menulis ulang URL, dan Anda menggunakan tema dan mengalihkan URL ke sumber daya yang terletak di folder yang berbeda dari sumber daya yang diminta.
Penulisan ulang URL berguna saat Anda ingin merestrukturisasi halaman di aplikasi Web Anda, dan Anda ingin memastikan bahwa orang yang telah menandai URL lama masih dapat menggunakannya setelah Anda memindahkan halaman. Penulisan ulang URL memungkinkan Anda meneruskan permintaan secara transparan ke lokasi halaman baru.
Jika Anda ingin mengaktifkan situs untuk menggunakan URL yang lebih ramah pengguna dan dioptimalkan untuk mesin pencari, alternatif yang lebih kuat adalah menggunakan perutean ASP.NET. Untuk informasi selengkapnya, lihat Perutean ASP.NET.
Lihat juga
Berlaku untuk
RewritePath(String, String, String)
Menulis ulang URL dengan menggunakan informasi jalur, informasi jalur, dan string kueri yang diberikan.
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)
Parameter
- filePath
- String
Jalur penulisan ulang internal.
- pathInfo
- String
Informasi jalur tambahan untuk sumber daya. Untuk informasi selengkapnya, lihat PathInfo.
- queryString
- String
String kueri permintaan.
Pengecualian
Parameter path
tidak ada di direktori akar aplikasi saat ini.
Parameter filePath
tidak ada di direktori akar aplikasi saat ini.
Contoh
Untuk contoh kode, termasuk contoh metode ini yang kelebihan beban, lihat RewritePath(String) metode kelebihan beban.
Keterangan
Metode mengalihkan RewritePath permintaan sumber daya ke sumber daya lain tanpa mengubah URL.
Parameter filePath
tidak menyertakan pathInfo
konten parameter. Untuk URL http://www.microsoft.com/virdir/page.html/tail
, parameternya filePath
adalah http://www.microsoft.com/virdir/page.html
, dan pathInfo
parameternya adalah ekor.
Penulisan ulang URL berguna saat Anda ingin merestrukturisasi halaman di aplikasi Web Anda, dan Anda ingin memastikan bahwa orang yang telah menandai URL lama masih dapat menggunakannya setelah Anda memindahkan halaman. Penulisan ulang URL memungkinkan Anda meneruskan permintaan secara transparan ke lokasi halaman baru.
Jika Anda ingin mengaktifkan situs untuk menggunakan URL yang lebih ramah pengguna dan dioptimalkan untuk mesin pencari, alternatif yang lebih kuat adalah menggunakan perutean ASP.NET. Untuk informasi selengkapnya, lihat Perutean ASP.NET.
Lihat juga
Berlaku untuk
RewritePath(String, Boolean)
Menulis ulang URL menggunakan jalur yang diberikan dan nilai Boolean yang menentukan apakah jalur virtual untuk sumber daya server dimodifikasi.
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)
Parameter
- path
- String
Jalur penulisan ulang internal.
- rebaseClientPath
- Boolean
true
untuk mengatur ulang jalur virtual; false
untuk menjaga jalur virtual tetap tidak berubah.
Pengecualian
Parameternya path
adalah null
.
Parameter path
tidak ada di direktori akar aplikasi saat ini.
Contoh
Untuk contoh kode, lihat RewritePath(String) metode kelebihan beban.
Keterangan
Metode HttpContext.RewritePath(String, Boolean) ini dipanggil oleh HttpContext.RewritePath(String) metode dengan parameter yang rebaseClientPath
diatur ke true
. Untuk memastikan bahwa jalur virtual yang digunakan untuk membuat jalur ke sumber daya tidak dimodifikasi, atur parameter ke rebaseClientPath
false
. Skenario umum di mana Anda mungkin ingin mengatur rebaseClientPath
ke false
adalah ketika Anda perlu menulis ulang URL, dan Anda menggunakan tema dan mengalihkan URL ke sumber daya yang terletak di folder yang berbeda dari sumber daya yang diminta.
Penulisan ulang URL berguna saat Anda ingin merestrukturisasi halaman di aplikasi Web Anda, dan Anda ingin memastikan bahwa orang yang telah menandai URL lama masih dapat menggunakannya setelah Anda memindahkan halaman. Penulisan ulang URL memungkinkan Anda meneruskan permintaan secara transparan ke lokasi halaman baru.
Jika Anda ingin mengaktifkan situs untuk menggunakan URL yang lebih ramah pengguna dan dioptimalkan untuk mesin pencari, alternatif yang lebih kuat adalah menggunakan perutean ASP.NET. Untuk informasi selengkapnya, lihat Perutean ASP.NET.
Lihat juga
Berlaku untuk
RewritePath(String)
Menulis ulang URL menggunakan jalur yang diberikan.
public:
void RewritePath(System::String ^ path);
public void RewritePath (string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parameter
- path
- String
Jalur penulisan ulang internal.
Pengecualian
Parameternya path
adalah null
.
Parameter path
tidak ada di direktori akar aplikasi saat ini.
Contoh
Contoh berikut menunjukkan cara menggunakan RewritePath metode untuk mengaktifkan situs Web untuk merespons URL yang tidak mencerminkan struktur file di situs Web. Blok kode pertama adalah halaman Web ASP.NET yang diberi nama RewritePath.aspx. Ini memerlukan string kueri. Jika nama situs Anda adalah WebSite1, URL http://localhost/WebSite1/RewritePath.aspx?page=1
menampilkan "Halaman 1" di browser. Blok kode yang mengikuti halaman Web adalah penanganan Application_BeginRequest
aktivitas dalam file Global.asax. Kode ini mencegat permintaan URL seperti http://localhost/WebSite1/page1
dan mengonversinya ke formulir yang diperlukan untuk RewritePath.aspx sebelum diproses. Oleh karena itu, URL http://localhost/WebSite1/page1
memanggil RewritePath.aspx dengan parameter string kueri yang menampilkan "Halaman 1" di browser. Jika URL seperti http://localhost/WebSite1/page1
diterima, kelebihan beban RewritePath dipanggil yang memungkinkan Anda memberikan nilai untuk PathInfo properti serta parameter string kueri.
<%@ 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
Keterangan
Metode mengalihkan RewritePath(String) permintaan sumber daya ke jalur yang berbeda dari yang ditunjukkan oleh URL yang diminta. Jika Anda harus mengatur ulang jalur virtual sehingga permintaan dari klien untuk sumber daya server diselesaikan dengan benar, gunakan kelebihan beban metode ini yang mengambil rebaseClientPath
parameter dan mengatur parameter ke false
.
Penulisan ulang URL berguna saat Anda ingin merestrukturisasi halaman di aplikasi Web Anda, dan Anda ingin memastikan bahwa orang yang telah menandai URL lama masih dapat menggunakannya setelah Anda memindahkan halaman. Penulisan ulang URL memungkinkan Anda meneruskan permintaan secara transparan ke lokasi halaman baru.
Jika Anda ingin mengaktifkan situs untuk menggunakan URL yang lebih ramah pengguna dan dioptimalkan untuk mesin pencari, alternatif yang lebih kuat adalah menggunakan perutean ASP.NET. Untuk informasi selengkapnya, lihat Perutean ASP.NET.