我注意到,stackoverflow.com在他們的頁面上沒有文件擴展名。我如何使用aspx網站做到這一點?如何製作不帶文件擴展名的ASPX網頁?
回答
這些URL實際上並不指向文件。他們使用URL重寫規則將URL轉換爲數據庫查詢並將輸出反饋回指定頁面(其URL不顯示)。
編輯:對於澄清 SO使用MVC,所以該URL指向一個特定的控制器動作(具有或沒有參數,取決於頁)。該動作運行一些代碼來獲取數據或其他內容,並將其傳遞給相應的視圖,該視圖基本上是一個填充動作提供的信息並呈現頁面的html模板。
他們使用MVC
下面是斯科特·格思裏一個偉大的文章:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
它涵蓋了所有的場景:在IIS 6,IIS7,使用第三方URL重寫工具等
堆棧溢出使用ASP.NET MVC,它可以乾淨地清理URL。
基本上你需要的是一些需要乾淨的URL,然後將它映射到一個標準的.NET URL並傳遞額外的'目錄'作爲參數的東西。例如將/ blog/post-no-one改寫爲/blog.aspx?id=post-no-one。
新的IIS有,如果你想與傳統的ASP.NET做在重寫插件會爲你做這一點:
或者您也可以通過重寫HTTP模塊和做滾你自己在那裏重寫。這裏是一個複雜的例子:
由於幾個人都提到,所以使用隨MVC路由引擎的網址。他們實際上已經通過CodePlex提供了這些代碼,因此您可以在基於webforms的ASP.NET網站中使用它。
菲爾哈克對如何做到這一個很好的總結:
它包括樣品,鏈接等,應該在讓你開始有幫助的。
如果你仍然想使用ASP.Net而不使用MVC路由(MVC很棒,btw),你可以使用HTTP Handler來路由請求。
http://msdn.microsoft.com/en-us/library/ms227675(v=vs.100).aspx
- 1. 沒有aspx文件擴展名的ASP.NET網頁
- 2. .NET網站如何隱藏文件的.aspx擴展名?
- 3. 如何從網址獲取頁面名稱(不帶擴展名)
- 4. 如何製作帶有.jsf擴展名的JSF 2.0頁面?
- 5. 如何製作缺少文件擴展名的網站?
- 6. 帶有「.py」擴展名的google.com網頁?
- 7. 沒有文件擴展名的網頁
- 8. 如何導入文件擴展名爲* .aspx *的JavaScript文件?
- 9. 不帶擴展名的塊文件
- 10. 如何忽略不帶擴展名的文件名?
- 11. 解密文件不帶擴展名
- 12. 製作文件的擴展名由PHP
- 13. 如何從.html擴展名的網頁下載PDF文件programmatticaly?
- 14. 不帶擴展名隨機文件{1,2 ...}與擴展
- 15. 使用自定義文件擴展名aspx頁面
- 16. 製作無最終文件擴展名的頁面
- 17. 帶'cmt'擴展名(?)的PHP文件
- 18. 搜索帶擴展名的文件
- 19. 帶擴展名的文件夾
- 20. 如何將不帶擴展名的網址重定向到.php?
- 21. 使用不帶頁面擴展名的jmeter錄製導航
- 22. 如何製作沒有文件擴展名的iTunesArtwork圖像?
- 23. Adobe AIR不保存帶有文件擴展名的文件
- 24. 使用webForm名稱以.aspx擴展名的文件下載
- 25. 如何從沒有擴展名的文件名獲取文件擴展名?
- 26. 重命名帶擴展名的文件夾中的文件
- 27. 不帶擴展名的文件名正則表達式
- 28. 不帶擴展名術語的文件名
- 29. 獲取文件名不帶擴展名的Python
- 30. 獲取不帶擴展名的文件名,textmade包編輯器
嗯。有點。它實際上調用一個控制器操作方法,它可能會執行一個數據庫查詢並呈現與該url相關的特定視圖。 – tvanfosson 2009-07-14 20:29:00