2014-01-12 35 views
0

我一直在做我的博客,想知道一些博客如何有像www.xyz./articles/15748這樣的網址,而我的博客的地址如「www.xyz/articles/test.aspx」。我的意思是他們是否使用某種形式的xml來填充其預定義的網頁。如果不是這樣,爲什麼他們的網頁沒有任何擴展名,如'.php'或'.htm'或'.aspx'。一些博客網站的頁面怎麼沒有擴展

回答

2

可以用Url Rewriting完成。

例如如何在Asp.Net使用它 - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

基本上它是用於重寫進來的URL到一個Web服務器可以處理模塊,然後重寫輸出網址一樣輸入網址

+0

而且它是非常強大...計算器使用它爲好,目前的網址是:http://stackoverflow.com/questions/21075055/how-come-pages-on-some-blogging-websites-lack-一個擴展名,但我可以改變:http://stackoverflow.com/questions/21075055/zazazaza剛剛過濾出數字21075055,並作出一個友好的網址。 – Paul

1

這取決於他們正在使用的框架,如果他們正在使用Web服務器中的模塊重寫URL,或者使用自定義HTTP處理程序(ASP.Net)處理HTTP請求。

當調用一個帶有後綴aspx的URL時,這意味着您正在請求一個存在於服務器上的物理頁面,然後使用WebForms框架通過ASP.Net運行時將其分發並傳遞到您的瀏覽器。

現在,如果您使用MVC框架而不是WebForms框架,那麼您的URL不會引用頁面,而是引用對象和函數。如果我要求/ User/Edit/1,則該URL可映射到User對象上的Edit函數,並且我們將傳入1作爲參數。另外,一些Web服務器具有URL重寫功能,允許您將一個URL映射到另一個URL,因此它可以偵聽URL而不帶後綴,並將請求透明地路由到物理頁面。

最後,在ASP.Net至少,你可以寫在你的應用程序處理程序將偵聽HTTP請求,如果它選擇這樣做,也可以執行一些透明路由。

這些只是幾種方式,當然還有其他方法。