Asp.net URL 用正则表达式重写规则
Asp.net URL Rewrite Rule with Regex
我有 web.config 文件的重写规则。
<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return="/>
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?ost_name=&post_id="/>
登录后第一个用于重定向 url。
第二个 posts.
如果用户尝试登录或单击 post 页面上的评论,他们将转到带有重定向的登录页面 url。
protected void lnkLogin_Click(object sender, EventArgs e)
{
Session["GoBackUrl"] = Request.RawUrl.ToString().Replace("/", "$");
base.Response.Redirect("~/Login/" + Session["GoBackUrl"].ToString());
}
例如
domain.com/Login/$post_name-xxx-post_id
登录后他们将返回 post 页面。
但是根据这个规则,他们不会进入登录页面。
Url 正在更改为
domain.com/Login/$post_name-xxx-post_id
但用户停留在同一页面。
我该如何解决这个问题?
我从Devrim Altinkurt's(lang:Tr) 页面找到这个例子并写信给他。他帮了我。
解法:
“处理=”停止
<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return=" "processing="stop/>
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?post_name=&post_id="/>
当你不写的时候。应用程序查找所有规则并触发最后一场比赛
如果你有相同的 Url,你应该使用它。更详细一点:规则等级很重要。
我有 web.config 文件的重写规则。
<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return="/>
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?ost_name=&post_id="/>
登录后第一个用于重定向 url。 第二个 posts.
如果用户尝试登录或单击 post 页面上的评论,他们将转到带有重定向的登录页面 url。
protected void lnkLogin_Click(object sender, EventArgs e)
{
Session["GoBackUrl"] = Request.RawUrl.ToString().Replace("/", "$");
base.Response.Redirect("~/Login/" + Session["GoBackUrl"].ToString());
}
例如
domain.com/Login/$post_name-xxx-post_id
登录后他们将返回 post 页面。
但是根据这个规则,他们不会进入登录页面。 Url 正在更改为
domain.com/Login/$post_name-xxx-post_id
但用户停留在同一页面。 我该如何解决这个问题?
我从Devrim Altinkurt's(lang:Tr) 页面找到这个例子并写信给他。他帮了我。
解法: “处理=”停止
<rewrite url="~/Login/(.+)$" to="~/Login.aspx?return=" "processing="stop/>
<rewrite url="~/(.+)-xxx-(.+)$" to="~/Post.aspx?post_name=&post_id="/>
当你不写的时候。应用程序查找所有规则并触发最后一场比赛 如果你有相同的 Url,你应该使用它。更详细一点:规则等级很重要。