asp.net的網址重新導向方法的比較:面向搜尋引擎友好

來源:互聯網
上載者:User
應用:面向搜尋引擎友好。
比如xxx.com/news.aspx?id=5  這樣的網址搜尋引擎是不感興趣的, 可以重新導向成 xxx.com/news/5.htm。

重新導向有幾個層次
1:IIS之上
     在請求沒有進入IIS分配aspx處理的時候進行重新導向。好處是不管是不是xx.aspx都可以進行處理,就算是php的一樣可以重新導向到asp.net處理常式裡面。
2:Asp.net中
   比如放在globle裡面,可以重新導向xx.aspx,但是不能重新導向目錄,或者.htm之類的。(設定篩選器也可以,麻煩一點)

所以我選擇的是第一種方法。
有一個工具很不錯:IISRewrite,qwerksoft製作。原文:http://www.qwerksoft.com/products/iisrewrite/安裝使用方法:1:把設定檔rewrite.ini和RewriteEval.dll兩個檔案放在同一個目錄下,現在是建立在C:\WINDOWS\system32\inetsrv\IISRewrite目錄裡面。2:在IIS上添加一個ISAPI篩選器:IIS管理工具/要添加的網站/屬性/ISAPI篩選器/添加--找到RewriteEval.dll3:測試回合:重啟IIS服務,把helloworld.htm檔案放置到IIS主目錄,然後訪問localhost/xxhelloworldxxx. 如果可以開啟該檔案,表示安裝成功(凡是任何包含helloworld字樣的訪問路徑都可以)4:配置重訂向規則:開啟rewrite.ini,然後加入一個規則 RewriteRule .*ventureT/([^.]*) /ventureT/subT/sIndex.aspx?id=$1。 使用的是Regex,意思是:凡是沒有任何尾碼(不加‘.’)的訪問,都沒重新導向到sIndex.aspx,並且把ventureT/以後的字串作為參數傳遞給sIndex。5:Regex不區分大小寫6:意義:不僅可以重訂向xx.xxx這樣的檔案,還可以重新導向目錄、沒有尾碼的等等(內建在IIS裡面的都不能實現這種功能)
7:程式裡面的代碼不需要修改:Resposne.Redirect("xxx.aspx?id=xx")這樣的語句依然沒問題,雖然在IIS上重新導向,他依然可以把這個地址重新導向到你需要的地方;用js開啟的就跟沒問題了。

至於第二種方法,也可以,但是不能重新導向目錄(還沒有重新導向到asp..net的處理域,所以代碼不會執行)
有高手已經寫的比較清楚了(ThunderMain.URLRewriter),有源碼。
http://www.cnblogs.com/edobnet/archive/2004/06/02/12866.aspx
這是配置的一個例子
    <rule>
    <url>VentureT/([^.].*)</url>
    <rewrite>VentureT\subT\sIndex.aspx?id=$1</rewrite>
   </rule> 

還有一個也不錯:url rewriter,Helicon製作
原文:http://www.chedong.com/tech/google_url.html
也是用Regex來寫的。

其實還有一種方法,就是自己寫程式作重新導向了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.