HttpContext.RewritePath 메서드

정의

요청한 URL이 나타내는 경로가 아닌 다른 경로로 리소스에 대한 요청을 리디렉션합니다.Redirects a request for a resource to a different path than the one that is indicated by the requested URL. RewritePath는 쿠키를 사용하지 않는 세션 상태에서 URL의 세션 ID를 제거하는 데 사용됩니다.RewritePath is used in cookieless session state to strip session IDs from URLs.

오버로드

RewritePath(String, String, String, Boolean)

지정된 가상 경로, 경로 정보, 쿼리 문자열 정보 및 클라이언트 파일 경로가 다시 작성 경로로 설정되었는지 여부를 지정하는 부울 값을 사용하여 URL을 다시 작성합니다.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)

지정된 경로, 경로 정보 및 쿼리 문자열 정보를 사용하여 URL을 다시 작성합니다.Rewrites the URL by using the given path, path information, and query string information.

RewritePath(String, Boolean)

지정된 경로와 서버 리소스의 가상 경로가 수정되었는지 여부를 지정하는 부울 값을 사용하여 URL을 다시 작성합니다.Rewrites the URL using the given path and a Boolean value that specifies whether the virtual path for server resources is modified.

RewritePath(String)

지정한 경로를 사용하여 URL을 다시 작성합니다.Rewrites the URL using the given path.

RewritePath(String, String, String, Boolean)

지정된 가상 경로, 경로 정보, 쿼리 문자열 정보 및 클라이언트 파일 경로가 다시 작성 경로로 설정되었는지 여부를 지정하는 부울 값을 사용하여 URL을 다시 작성합니다.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)

매개 변수

filePath
String

요청을 처리하는 리소스에 대한 가상 경로입니다.The virtual path to the resource that services the request.

pathInfo
String

URL 리디렉션에 사용할 추가 경로 정보입니다.Additional path information to use for the URL redirect. 자세한 내용은 PathInfo을 참조하세요.For more information, see PathInfo.

queryString
String

URL 리디렉션에 사용할 요청 쿼리 문자열입니다.The request query string to use for the URL redirect.

setClientFilePath
Boolean

클라이언트 리소스에 사용되는 파일 경로를 true 매개 변수 값으로 설정하려면 filePath이고, 그렇지 않으면 false입니다.true to set the file path used for client resources to the value of the filePath parameter; otherwise false.

예외

path 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The path parameter is not in the current application's root directory.

filePath 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The filePath parameter is not in the current application's root directory.

예제

코드 예제는 RewritePath(String) 메서드 오버 로드를 참조 하세요.For a code example, see the RewritePath(String) method overload.

설명

filePath 매개 변수에는 pathInfo 매개 변수의 내용이 포함 되지 않습니다.The filePath parameter does not include the content of the pathInfo parameter. URL http://www.microsoft.com/virdir/page.html/tail``filePath 매개 변수는 http://www.microsoft.com/virdir/page.html이며 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.

리소스에 대 한 경로를 생성 하는 데 사용 되는 가상 경로가 수정 되지 않도록 하려면 setClientFilePath 매개 변수를 false로 설정 합니다.To ensure that the virtual path that is used to construct paths to resources is not modified, set the setClientFilePath parameter to false. setClientFilePathfalse로 설정 해야 하는 일반적인 시나리오는 URL을 다시 작성 해야 하며, 테마를 사용 하 고 요청 된 리소스와 다른 폴더에 있는 리소스로 URL을 리디렉션하는 것입니다.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.

URL 재작성 웹 애플리케이션의 페이지를 재구성 하 고는 이전 Url를 책갈피에 추가한 사람들을 계속 사용할 수 페이지 이동한 후 있는지 확인 하려는 경우 유용 합니다.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. URL 재작성 투명 하 게 새 페이지 위치로 요청을 전달할 수 있습니다.URL rewriting enables you to transparently forward requests to the new page location.

검색 엔진 친화적인 되 고 최적화 되는 Url을 사용 하도록 사이트를 사용 하도록 설정 하려는 경우는 더 강력한 대안 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. 자세한 내용은 ASP.NET 라우팅을 참조 하세요.For more information, see ASP.NET Routing.

추가 정보

RewritePath(String, String, String)

지정된 경로, 경로 정보 및 쿼리 문자열 정보를 사용하여 URL을 다시 작성합니다.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)

매개 변수

filePath
String

내부 재작성 경로입니다.The internal rewrite path.

pathInfo
String

리소스에 대한 추가 경로 정보입니다.Additional path information for a resource. 자세한 내용은 PathInfo을 참조하세요.For more information, see PathInfo.

queryString
String

요청 쿼리 문자열입니다.The request query string.

예외

path 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The path parameter is not in the current application's root directory.

filePath 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The filePath parameter is not in the current application's root directory.

예제

이 메서드 오버 로드의 예제를 비롯 한 코드 예제는 RewritePath(String) 메서드 오버 로드를 참조 하세요.For a code example, including an example of this method overload, see the RewritePath(String) method overload.

설명

RewritePath 메서드는 URL을 변경 하지 않고 리소스에 대 한 요청을 다른 리소스로 리디렉션합니다.The RewritePath method redirects a request for a resource to another resource without changing the URL.

filePath 매개 변수는 pathInfo 매개 변수 콘텐츠를 포함 하지 않습니다.The filePath parameter does not include the pathInfo parameter content. URL http://www.microsoft.com/virdir/page.html/tail``filePath 매개 변수는 http://www.microsoft.com/virdir/page.html이며 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.

URL 재작성 웹 애플리케이션의 페이지를 재구성 하 고는 이전 Url를 책갈피에 추가한 사람들을 계속 사용할 수 페이지 이동한 후 있는지 확인 하려는 경우 유용 합니다.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. URL 재작성 투명 하 게 새 페이지 위치로 요청을 전달할 수 있습니다.URL rewriting enables you to transparently forward requests to the new page location.

검색 엔진 친화적인 되 고 최적화 되는 Url을 사용 하도록 사이트를 사용 하도록 설정 하려는 경우는 더 강력한 대안 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. 자세한 내용은 ASP.NET 라우팅을 참조 하세요.For more information, see ASP.NET Routing.

추가 정보

RewritePath(String, Boolean)

지정된 경로와 서버 리소스의 가상 경로가 수정되었는지 여부를 지정하는 부울 값을 사용하여 URL을 다시 작성합니다.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)

매개 변수

path
String

내부 재작성 경로입니다.The internal rewrite path.

rebaseClientPath
Boolean

가상 경로를 다시 설정하려면true 로 지정하고 가상 경로를 변경하지 않고 유지하려면 false 로 지정합니다.true to reset the virtual path; false to keep the virtual path unchanged.

예외

path 매개 변수는 null입니다.The path parameter is null.

path 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The path parameter is not in the current application's root directory.

예제

코드 예제는 RewritePath(String) 메서드 오버 로드를 참조 하세요.For a code example, see the RewritePath(String) method overload.

설명

HttpContext.RewritePath(String, Boolean) 메서드는 true로 설정 된 rebaseClientPath 매개 변수를 사용 하 여 HttpContext.RewritePath(String) 메서드에 의해 호출 됩니다.The HttpContext.RewritePath(String, Boolean) method is called by the HttpContext.RewritePath(String) method with the rebaseClientPath parameter set to true. 리소스에 대 한 경로를 생성 하는 데 사용 되는 가상 경로가 수정 되지 않도록 하려면 rebaseClientPath 매개 변수를 false로 설정 합니다.To ensure that the virtual path that is used to construct paths to resources is not modified, set the rebaseClientPath parameter to false. rebaseClientPathfalse로 설정 해야 하는 일반적인 시나리오는 URL을 다시 작성 해야 하며, 테마를 사용 하 고 요청 된 리소스와 다른 폴더에 있는 리소스로 URL을 리디렉션하는 것입니다.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.

URL 재작성 웹 애플리케이션의 페이지를 재구성 하 고는 이전 Url를 책갈피에 추가한 사람들을 계속 사용할 수 페이지 이동한 후 있는지 확인 하려는 경우 유용 합니다.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. URL 재작성 투명 하 게 새 페이지 위치로 요청을 전달할 수 있습니다.URL rewriting enables you to transparently forward requests to the new page location.

검색 엔진 친화적인 되 고 최적화 되는 Url을 사용 하도록 사이트를 사용 하도록 설정 하려는 경우는 더 강력한 대안 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. 자세한 내용은 ASP.NET 라우팅을 참조 하세요.For more information, see ASP.NET Routing.

추가 정보

RewritePath(String)

지정한 경로를 사용하여 URL을 다시 작성합니다.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)

매개 변수

path
String

내부 재작성 경로입니다.The internal rewrite path.

예외

path 매개 변수는 null입니다.The path parameter is null.

path 매개 변수가 현재 애플리케이션의 루트 디렉터리에 있지 않습니다.The path parameter is not in the current application's root directory.

예제

다음 예제에서는 RewritePath 메서드를 사용 하 여 웹 사이트에서 웹 사이트의 파일 구조를 반영 하지 않는 Url에 응답 하도록 설정 하는 방법을 보여 줍니다.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. 첫 번째 코드 블록에 RewritePath.aspx 이라고 하는 ASP.NET 웹 페이지입니다.The first block of code is an ASP.NET Web page that is named RewritePath.aspx. 쿼리 문자열이 필요합니다.It requires a query string. 사이트 이름이 WebSite1 인 경우 URL http://localhost/WebSite1/RewritePath.aspx?page=1 브라우저에 "페이지 1"을 표시 합니다.If the name of your site is WebSite1, the URL http://localhost/WebSite1/RewritePath.aspx?page=1 displays "Page 1" in the browser. 웹 페이지 다음에 오는 코드 블록은 Global.asax 파일의 Application_BeginRequest 이벤트 처리기입니다.The block of code that follows the Web page is the Application_BeginRequest event handler in the Global.asax file. 이 코드는 http://localhost/WebSite1/page1와 같은 Url에 대 한 요청을 가로채서 처리 되기 전에 다시 Writepath .aspx에 필요한 형식으로 변환 합니다.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. 따라서 URL http://localhost/WebSite1/page1 브라우저에서 "페이지 1"을 표시 하는 쿼리 문자열 매개 변수를 사용 하 여 RewritePath .aspx를 호출 합니다.Therefore, the URL http://localhost/WebSite1/page1 invokes RewritePath.aspx with the query-string parameter that displays "Page 1" in the browser. http://localhost/WebSite1/page1와 같은 URL을 수신 하는 경우 쿼리 문자열 매개 변수 뿐만 아니라 PathInfo 속성의 값을 제공할 수 있는 RewritePath 오버 로드가 호출 됩니다.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

설명

RewritePath(String) 메서드는 리소스에 대 한 요청을 요청 된 URL에 지정 된 경로와 다른 경로로 리디렉션합니다.The RewritePath(String) method redirects a request for a resource to a different path than the one that is indicated by the requested URL. 클라이언트의 서버 리소스 요청이 올바르게 확인 되도록 가상 경로를 다시 설정 해야 하는 경우 rebaseClientPath 매개 변수를 사용 하는이 메서드의 오버 로드를 사용 하 고 매개 변수를 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.

URL 재작성 웹 애플리케이션의 페이지를 재구성 하 고는 이전 Url를 책갈피에 추가한 사람들을 계속 사용할 수 페이지 이동한 후 있는지 확인 하려는 경우 유용 합니다.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. URL 재작성 투명 하 게 새 페이지 위치로 요청을 전달할 수 있습니다.URL rewriting enables you to transparently forward requests to the new page location.

검색 엔진 친화적인 되 고 최적화 되는 Url을 사용 하도록 사이트를 사용 하도록 설정 하려는 경우는 더 강력한 대안 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. 자세한 내용은 ASP.NET 라우팅을 참조 하세요.For more information, see ASP.NET Routing.

추가 정보

적용 대상