簡體   English   中英

如何制作沒有文件擴展名的ASPX網頁?

[英]how do I make ASPX Web pages without file extensions?

我注意到stackoverflow.com在他們的頁面上沒有文件擴展名。 我如何使用aspx網站執行此操作?

這是Scott Guthrie寫的一篇很棒的文章:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

它涵蓋了所有場景:IIS 6,IIS7,使用第三方URL重寫工具等。

URL實際上並不指向文件。 他們使用URL重寫規則將URL轉換為數據庫查詢,並將輸出反饋給指定的頁面(其URL不顯示)。

編輯:為了澄清SO使用MVC,因此url指向特定的控制器操作(有或沒有參數,具體取決於頁面)。 該操作運行一些代碼來獲取數據或其他任何內容並將其傳遞給相應的視圖,該視圖基本上是一個html模板,用於填充操作提供的信息並呈現頁面。

MVC

他們使用MVC

Stack Overflow使用ASP.NET MVC,它可以立即清除URL。

基本上你需要的東西是獲取干凈的URL,然后將它映射到標准的.NET URL,並傳入額外的“目錄”作為參數。 例如,重寫/博客/后沒有人到/blog.aspx?id=post-no-one。

新的IIS有一個重寫插件,如果你想用傳統的ASP.NET做這件事就可以做到這一點:

使用URL重寫模塊

或者你可以通過覆蓋HttpModule並在那里進行重寫來自己動手。 這是一個復雜的例子:

URL重寫引擎

正如一些人所提到的,SO正在使用MVC附帶的URL路由引擎。 他們實際上已經通過CodePlex提供了代碼,因此您可以在基於Webforms的ASP.NET站點中使用它。

Phil Haack對如何執行此操作有一個很好的總結:

使用WebForms進行路由

它包括樣本,鏈接等,應該有助於您入門。

如果您仍然希望在不使用MVC路由的情況下使用ASP.Net(MVC很棒,順便說一句),您可以使用HTTP處理程序路由請求。

http://msdn.microsoft.com/en-us/library/ms227675(v=vs.100).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM