簡體   English   中英

正則表達式的Asp.net URL重寫規則

[英]Asp.net URL Rewrite Rule with Regex

我對web.config文件有重寫規則。

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

登錄后第一個用於重定向URL。 第二個職位。

如果用戶嘗試登錄或在帖子頁面上單擊評論,他們將轉到帶有重定向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

但用戶停留在同一頁面上。 我該如何解決?

我從Devrim Altinkurt的 (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"/>

當你不寫的時候。 應用程序會查找所有規則並觸發最后一個匹配項。如果您使用相同的網址,則應使用此網址。 更詳細一點:規則等級很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM