1. 程式人生 > >url進行重寫和二級域名的url重寫

url進行重寫和二級域名的url重寫

我們的專案有分站,分站也需要對url進行重寫。

我們主站採用的urlrewriter進行重寫。

這個方法還是不錯的,只需進行檔案的配置即可對url進行重寫,偽靜態。使用起來真的特別舒服。

具體使用方法可以百度、google 》 urlrewriter的使用

可是這個方法對二級域名,通過我查資料,反正折騰了不少時間。最後我放棄了,因為這個太麻煩了。

我後來看到一個方法可以對url進行重寫,我就想到註冊模組與程式進行處理,

我專案中為了控制分站,有些差異化的處理放到了global中去,本來要進行重寫的頁面不多。還要對這些頁面進行處理,我直接就在global中寫了這些頁面的重寫。

首先,我先判斷是否是經過我的目標連結來了(簡單的我直接就簡單判斷一下,複雜的我用的正則)

例如  www.xxx.com/bbb/  這樣的是我定義的格式 如果來了www.xxx.com/bbbb  這樣就不是我要的,我要拋棄它

其次,是我要的 我就要把這個地址獲取過來,進行分割。

如上的例子,我直接用簡單的字串分割 以得到我想到的引數 bbb  如果是複雜的當然還得正則了。

最後 把引數獲取過來了 該重寫真實的地址了

例如我的真實地址是 default.asx 真實的url應該是 default.aspx?id=bbb  那麼我就要把bbb這個引數給它程式就是:

  Context.RewritePath("/default.aspx?fz=" +獲取到的引數變數);

這樣就會重寫至

 default.aspx?id=bbb 這個地址了。也就實現了  我輸入www.xxx.com/bbb/ 真正開啟的頁面是www.xxx.com/default.aspx?id=bbb