2017-12-04 1 views
0

web.config 파일에 규칙을 다시 작성했습니다. 로그인 후 리디렉션 URL에 대한정규식을 사용한 Asp.net URL 다시 쓰기 규칙

<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return=$1"/> 
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?ost_name=$1&amp;post_id=$2"/> 

먼저 하나. 두 번째 글.

사용자가 로그인을 시도하거나 게시물 페이지의 댓글을 클릭하면 리디렉션 URL로 로그인 페이지로 이동합니다. 로그인 후 예를

domain.com/Login/$post_name-xxx-post_id 

를 들어

protected void lnkLogin_Click(object sender, EventArgs e) 
    { 
     Session["GoBackUrl"] = Request.RawUrl.ToString().Replace("/", "$"); 
     base.Response.Redirect("~/Login/" + Session["GoBackUrl"].ToString()); 
    } 

그들은 페이지를 게시 다시 켜집니다.

하지만이 규칙을 사용하면 로그인 페이지로 이동하지 않습니다. URL이 다음과 같이 변경됩니다.

domain.com/Login/$post_name-xxx-post_id 

사용자가 동일한 페이지를 유지합니다. 어떻게 해결할 수 있습니까?

답변

0

이 예제는 Devrim Altinkurt's (lang : Tr) 페이지에서 발견하여 작성했습니다. 그는 나를 도왔다.

해결 방법 : 작성하지 않는 경우 "처리 =" "

<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return=$1" "processing="stop/> 
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?post_name=$1&amp;post_id=$2"/> 

을 중지 응용 프로그램이 모든 규칙과 당신이 동일한 URL의 당신이 사용해야을 받았다면 마지막 경기 을 발사 보이는 하나 더.. 세부 사항 : 규칙 순위는 중요합니다.