之前一直對URL的長串網址困擾,如果要查詢某個網址,還必須要跟你網站所使用的語言有關!譬如說,之前網站是用asp所寫,要查個歷史資料,必須輸入
http://www.markchoo.com.tw/history/m-hist.asp
之後,網站以asp.net改寫,網址變成了
http://www.markchoo.com.tw/history/m-hist.aspx
這樣子是很令使用者困擾的,或許,設計師認為只能這樣,沒辦法,使用者必須接受!但,我相信,科技始終來自於人性;告訴使用者這個不行,那個不行,其實是你這個設計師自己不行!設計師真的確定沒有解決辦法嗎?還是說,設計師是自己孤陋寡聞,沒有花費時間去精進自己的技術?
去年就為了這個問題,上網輸入了一些關鍵字,如mapping、URL Redirect...,那時好像找到了自己所要的,但一時沒空,沒有花時間去研讀文章,就這樣耽擱下來了!今年春節,捲土重來,已經找不到當時找到資料的註記,只得重新尋找!先是找到了:
URL Rewriting in ASP.NET
http://msdn.microsoft.com/en-us/library/ms972974.aspx
發覺這是2004年三月的文章!讀完全文,了解到這是用asp的設定方式來解決問題,乍看之下可以合乎我的需求,但是,使用者還是需要輸入類似asp的文件附檔名,這同樣是不合乎人性的!不死心,再搜尋,終於找到了我想要的文章了:
URL Rewrite Module
http://learn.iis.net/page.aspx/734/url-rewrite-module/
這篇是語言無關,但與網站主機有關的設定方式,網站主機軟體必須是微軟的IIS網站軟體,必須是IIS 7.0,也就是說,網站作業系統必須是windows 2008或windows 7。關於這個限制,我可以接受,反正萬一以後移到別的主機系統,應該有別的軟體可以搭配,作出同樣效果!
看了一下子多媒體的操作示範,迫不急待的先下載軟體,rewrite_1.1_x86_en-US.msi,並安裝到我的windows 7上,在IIS中順利出現如下圖案
先幫我在虛擬目錄中的網站作測試,結果都不成功!隔天再戰,改用主網站來測試,成功了!虛擬目路的測試似乎還是怪怪的!沒關係,先擱置這個問題...
Local網站測試成功,遠端網站呢?哈哈,我的網站還是windows server 2003,IIS的版本還停留在6.0版,看來要達成任務,先得將網站版本更新成windows server 2008;嗯,之前在local嚐試在VPC中安裝32位元的windows server 2008,但序號一直有問題!看來要等過完年,等微軟開始上班,趕緊請他們幫我解決這個問題了!
以下展示一下可以達成的效果:
原始連結
http://localhost/product/spec.aspx?id=1
新的連結
http://localhost/product/spec2/id/1
或者可設成
http://localhost/id/1
這樣子是不是有人性多了呢?

沒有留言:
張貼留言