【问题标题】:Asp.net URL Rewrite Rule with Regex使用正则表达式的 Asp.net URL 重写规则
【发布时间】:2017-12-04 19:47:00
【问题描述】:

我对 web.config 文件有重写规则。

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

登录后重定向网址的第一个。 第二个用于帖子。

如果用户尝试登录或点击帖子页面上的评论,他们将转到带有重定向 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

登录后,他们将返回帖子页面。

但是使用此规则,他们不会进入登录页面。 网址正在更改为

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

但用户停留在同一页面。 我该如何解决这个问题?

【问题讨论】:

    标签: asp.net regex url-rewriting web-config


    【解决方案1】:

    我从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,你应该使用它。更多细节:规则等级很重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 2016-02-10
      • 2021-10-26
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多