看板 C_Sharp 關於我們 聯絡資訊
※ 引述《kevin888 (菸酒生)》之銘言: : 以往我在處理網址會產生404的相關都會丟到IIS去處理 : 今天被要求在產生404前就必須將不認可的網址截斷處理 : 當然網址也有一些規則可供我判斷 : 不過我沒這樣玩過,一時間有點卡卡的 : 例如某網址是www.abc.com : 當我檢查到網址沒有我要關鍵字與字碼數就要截斷導回首頁 : 例如www.abc.com/?key=abc&whoyouare=iamsuperman : 或是www.abc.com/who=isme : 上面2個 只有key=abc對我有用,後面都是要截斷 : 如果沒有key=abc導回首頁 : 如果key=abcd也要導回首頁 : 我卡在要判斷對我有用的KEY跟當沒有KEY時流程應該怎麼走比較好 : 上面的KEY只是其中一個,總共要判斷3個KEY1,key2,key3 : 盼望前輩們可以指點迷經~感謝 先重複你的需求, 1. 檢查key是否等於abc 2. 首頁是www.abc.com 3. key值錯誤就回首頁 Uri MyUri = 你的網址; Uri HomepageUri = MyUri.Host; //Uri HomepageUri = MyUri.Authority; //Uri HomepageUri = MyUri.DnsSafeHost; // 上面三個你挑一個用 if (CheckKey(MyUri)) { // 做你要的事情 } else { // 返回首頁www.abc.com } private bool CheckKey(Uri In_Uri) { string Key1 = "key=abc"; string Key2 = "key=123"; string Key3 = "key=xyz"; return In_Uri.ToString().Contains(Key1) || In_Uri.ToString().Contains(Key2) || In_Uri.ToString().Contains(Key3); } 大致概念這樣,你可以自己再修。 不知道有沒有回答到? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.249.16.135 ※ 編輯: StupidGaGa 來自: 60.249.16.135 (08/06 09:22) ※ 編輯: StupidGaGa 來自: 60.249.16.135 (08/06 09:23)
soup514:用contains方式來解 www.abc.com?key=abcd 會是OK的啊 08/07 00:08
soup514:試試System.Web.HttpUtility.ParseQueryString 08/07 00:09
soup514:或是用regex自己拆 (也許問題比較多 意想不到的狀況) 08/07 00:10
soup514:之後再一一檢查所需的key 存在或值正確 08/07 00:11