我有一個網址,這就好比http://example.com/UK/Deal.aspx?id=322如何從URL檢索語言環境(國家)代碼?
我的目標是消除區域(國家)的部分,使它像http://example.com/Deal.aspx?id=322
由於URL可能有其他類似的格式,如:https://ssl.example.com/JP/Deal.aspx?id=735,使用「子串」功能不是一個好主意。
我能想到的是使用下面的方法將它們分開,然後再映射它們。
HttpContext.Current.Request.Url.Scheme
HttpContext.Current.Request.Url.Host
HttpContext.Current.Request.Url.AbsolutePath
HttpContext.Current.Request.Url.Query
而且,假設HttpContext.Current.Request.Url.AbsolutePath將是:
/UK/Deal.aspx?id=322
我不知道如何處理這一點,因爲我的老闆問我要不要用「一般表達「(他認爲這將影響性能...)
除了」 正則表達式」,有沒有其他的方法來消除英國從它?
P.S。得到:UK部分可以是JP,DE,或其他國家代碼。
順便說一句,對於美國,沒有國家代碼,將URL http://example.com/Deal.aspx?id=322
也請把這種情況考慮在內。 謝謝。
你爲什麼要刪除並映射回來?是否因爲語言環境自動從您的網站訪問來自不同地區或國家的網站?如果是的話,那麼可能會有另一種解決方案。 – vendettamit
Hi @vendettamit,實際上我的網站在這些日子裏增加了「多區域」,如果有額外的「國家代碼」,我的遺留網址相關方法將無法正常工作。在嘗試使用這些遺留方法之前,我嘗試從URL(帶有國家/地區代碼)中刪除「國家代碼」,並在處理後將其映射回。 – user3174976
Gotach !!如果URL段在根目錄後有2個字母的ISO代碼作爲第一個ocurrance,您可以使用一個小的正則表達式來匹配。 @ user3174976看到我更新的答案。 – vendettamit