HttpContext.RewritePath Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir kaynak isteğini, istenen URL tarafından gösterilenden farklı bir yola yönlendirir. RewritePath , oturum kimliklerini URL'lerden kaldırmak için tanımlama bilgisi olmayan oturum durumunda kullanılır.
Aşırı Yüklemeler
RewritePath(String, String, String, Boolean) |
Verilen sanal yolu, yol bilgilerini, sorgu dizesi bilgilerini ve istemci dosya yolunun yeniden yazma yoluna ayarlanıp ayarlanmadığını belirten bir Boole değeri kullanarak URL'yi yeniden yazar. |
RewritePath(String, String, String) |
Verilen yolu, yol bilgilerini ve sorgu dizesi bilgilerini kullanarak URL'yi yeniden yazar. |
RewritePath(String, Boolean) |
Verilen yolu ve sunucu kaynakları için sanal yolun değiştirilip değiştirilmediğini belirten bir Boole değeri kullanarak URL'yi yeniden yazar. |
RewritePath(String) |
Verilen yolu kullanarak URL'yi yeniden yazar. |
RewritePath(String, String, String, Boolean)
Verilen sanal yolu, yol bilgilerini, sorgu dizesi bilgilerini ve istemci dosya yolunun yeniden yazma yoluna ayarlanıp ayarlanmadığını belirten bir Boole değeri kullanarak URL'yi yeniden yazar.
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)
Parametreler
- filePath
- String
İsteğe hizmet veren kaynağın sanal yolu.
- pathInfo
- String
URL yeniden yönlendirmesi için kullanılacak ek yol bilgileri. Daha fazla bilgi için bkz. PathInfo.
- queryString
- String
URL yeniden yönlendirmesi için kullanılacak istek sorgu dizesi.
- setClientFilePath
- Boolean
true
istemci kaynakları için kullanılan dosya yolunu parametresinin filePath
değerine ayarlamak için; aksi takdirde false
.
Özel durumlar
path
parametresi geçerli uygulamanın kök dizininde değil.
filePath
parametresi geçerli uygulamanın kök dizininde değil.
Örnekler
Kod örneği için yöntem aşırı yüklemesine RewritePath(String) bakın.
Açıklamalar
filePath
parametresi, parametrenin pathInfo
içeriğini içermez. URL http://www.microsoft.com/virdir/page.html/tail
filePath
için parametresi , http://www.microsoft.com/virdir/page.html
pathInfo
parametresi ise kuyruk şeklindedir.
Kaynakların yollarını oluşturmak için kullanılan sanal yolun değiştirilmediğinden emin olmak için parametresini setClientFilePath
olarak false
ayarlayın. URL'yi yeniden yazmanız gerektiğinde ve temaları kullanıp URL'yi istenen kaynaktan farklı bir klasörde bulunan bir kaynağa yeniden yönlendirdiğinizde ayarlamak setClientFilePath
false
isteyebileceğiniz yaygın bir senaryodur.
Url yeniden yazma, Web uygulamanızdaki sayfaları yeniden yapılandırmak istediğinizde ve eski URL'leri yer işaretine eklemiş olan kişilerin sayfaları taşıdıktan sonra bunları kullanmaya devam ettiğinden emin olmak istediğinizde yararlıdır. URL yeniden yazma, istekleri yeni sayfa konumuna saydam bir şekilde iletmenizi sağlar.
Bir sitenin daha kullanıcı dostu ve arama motorları için iyileştirilmiş URL'leri kullanmasını sağlamak istiyorsanız, ASP.NET yönlendirmeyi kullanmak daha sağlam bir alternatiftir. Daha fazla bilgi için bkz. ASP.NET Yönlendirme.
Ayrıca bkz.
Şunlara uygulanır
RewritePath(String, String, String)
Verilen yolu, yol bilgilerini ve sorgu dizesi bilgilerini kullanarak URL'yi yeniden yazar.
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)
Parametreler
- filePath
- String
İç yeniden yazma yolu.
- queryString
- String
İstek sorgu dizesi.
Özel durumlar
path
parametresi geçerli uygulamanın kök dizininde değil.
filePath
parametresi geçerli uygulamanın kök dizininde değil.
Örnekler
Bu yöntem aşırı yüklemesinin bir örneği de dahil olmak üzere bir kod örneği için bkz RewritePath(String) . yöntem aşırı yüklemesi.
Açıklamalar
yöntemi, RewritePath URL'yi değiştirmeden bir kaynak isteğini başka bir kaynağa yönlendirir.
filePath
parametresi, parametre içeriğini içermezpathInfo
. URL http://www.microsoft.com/virdir/page.html/tail
filePath
için parametresi , http://www.microsoft.com/virdir/page.html
pathInfo
parametresi ise kuyruk şeklindedir.
Url yeniden yazma, Web uygulamanızdaki sayfaları yeniden yapılandırmak istediğinizde ve eski URL'leri yer işaretine eklemiş olan kişilerin sayfaları taşıdıktan sonra bunları kullanmaya devam ettiğinden emin olmak istediğinizde yararlıdır. URL yeniden yazma, istekleri yeni sayfa konumuna saydam bir şekilde iletmenizi sağlar.
Bir sitenin daha kullanıcı dostu ve arama motorları için iyileştirilmiş URL'leri kullanmasını sağlamak istiyorsanız, ASP.NET yönlendirmeyi kullanmak daha sağlam bir alternatiftir. Daha fazla bilgi için bkz. ASP.NET Yönlendirme.
Ayrıca bkz.
Şunlara uygulanır
RewritePath(String, Boolean)
Verilen yolu ve sunucu kaynakları için sanal yolun değiştirilip değiştirilmediğini belirten bir Boole değeri kullanarak URL'yi yeniden yazar.
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)
Parametreler
- path
- String
İç yeniden yazma yolu.
- rebaseClientPath
- Boolean
true
sanal yolu sıfırlamak için; false
sanal yolu değişmeden tutmak için.
Özel durumlar
path
parametresidirnull
.
path
parametresi geçerli uygulamanın kök dizininde değil.
Örnekler
Kod örneği için yöntem aşırı yüklemesine RewritePath(String) bakın.
Açıklamalar
HttpContext.RewritePath(String, Boolean) yöntemi, parametresi olarak ayarlanmış şekilde yöntemi rebaseClientPath
tarafından HttpContext.RewritePath(String) çağrılırtrue
. Kaynakların yollarını oluşturmak için kullanılan sanal yolun değiştirilmediğinden emin olmak için parametresini rebaseClientPath
olarak false
ayarlayın. URL'yi yeniden yazmanız gerektiğinde ve temaları kullanıp URL'yi istenen kaynaktan farklı bir klasörde bulunan bir kaynağa yeniden yönlendirdiğinizde ayarlamak rebaseClientPath
false
isteyebileceğiniz yaygın bir senaryodur.
Url yeniden yazma, Web uygulamanızdaki sayfaları yeniden yapılandırmak istediğinizde ve eski URL'leri yer işaretine eklemiş olan kişilerin sayfaları taşıdıktan sonra bunları kullanmaya devam ettiğinden emin olmak istediğinizde yararlıdır. URL yeniden yazma, istekleri yeni sayfa konumuna saydam bir şekilde iletmenizi sağlar.
Bir sitenin daha kullanıcı dostu ve arama motorları için iyileştirilmiş URL'leri kullanmasını sağlamak istiyorsanız, ASP.NET yönlendirmeyi kullanmak daha sağlam bir alternatiftir. Daha fazla bilgi için bkz. ASP.NET Yönlendirme.
Ayrıca bkz.
Şunlara uygulanır
RewritePath(String)
Verilen yolu kullanarak URL'yi yeniden yazar.
public:
void RewritePath(System::String ^ path);
public void RewritePath (string path);
member this.RewritePath : string -> unit
Public Sub RewritePath (path As String)
Parametreler
- path
- String
İç yeniden yazma yolu.
Özel durumlar
path
parametresidirnull
.
path
parametresi geçerli uygulamanın kök dizininde değil.
Örnekler
Aşağıdaki örnekte, bir Web sitesinin Web sitesindeki dosya yapısını yansıtmayan URL'lere yanıt vermesini sağlamak için yönteminin nasıl kullanılacağı RewritePath gösterilmektedir. İlk kod bloğu, RewritePath.aspx adlı bir ASP.NET Web sayfasıdır. Bir sorgu dizesi gerektirir. Sitenizin adı WebSite1 ise, URL http://localhost/WebSite1/RewritePath.aspx?page=1
tarayıcıda "Sayfa 1" görüntüler. Web sayfasını izleyen kod bloğu, Global.asax dosyasındaki olay işleyicisidir Application_BeginRequest
. Bu kod gibi http://localhost/WebSite1/page1
URL'ler için istekleri durdurur ve bunları işlenmeden önce RewritePath.aspx için gereken forma dönüştürür. Bu nedenle URL http://localhost/WebSite1/page1
, tarayıcıda "Sayfa 1" görüntüleyen sorgu dizesi parametresiyle RewritePath.aspx çağırır. gibi http://localhost/WebSite1/page1
bir URL alınırsa, özelliği için PathInfo bir değer ve sorgu dizesi parametresi sağlamanıza olanak tanıyan bir aşırı yüklemesi RewritePath çağrılır.
<%@ 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
Açıklamalar
RewritePath(String) yöntemi, bir kaynak isteğini istenen URL tarafından belirtilenden farklı bir yola yönlendirir. Sunucu kaynakları için istemciden gelen isteklerin doğru çözümlenmesi için sanal yolu sıfırlamanız gerekiyorsa, parametresini alan rebaseClientPath
ve parametresini false
olarak ayarlayan bu yöntemin aşırı yüklemesini kullanın.
Url yeniden yazma, Web uygulamanızdaki sayfaları yeniden yapılandırmak istediğinizde ve eski URL'leri yer işaretine eklemiş olan kişilerin sayfaları taşıdıktan sonra bunları kullanmaya devam ettiğinden emin olmak istediğinizde yararlıdır. URL yeniden yazma, istekleri yeni sayfa konumuna saydam bir şekilde iletmenizi sağlar.
Bir sitenin daha kullanıcı dostu ve arama motorları için iyileştirilmiş URL'leri kullanmasını sağlamak istiyorsanız, ASP.NET yönlendirmeyi kullanmak daha sağlam bir alternatiftir. Daha fazla bilgi için bkz. ASP.NET Yönlendirme.