我一直在制作我的博客,想知道一些博客如何拥有像'www.xyz./articles/15748'这样的网址,而我的博客有一些地址,例如'www.xyz/articles/test.aspx ”。我的意思是他们是否使用某种形式的xml来填充他们预定义的网页。如果不是这样,为什么他们的网页没有任何扩展名,例如'.php'或'.htm'或'.aspx'。
答案 0 :(得分:2)
可以使用Url Rewriting完成。
例如如何在Asp.Net中使用它 - http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
基本上它是一个模块,它将传入的URL重写为WebServer可以处理的URL,然后将输出URL重写为与输入URL相同的
答案 1 :(得分:1)
这取决于他们使用的框架,如果他们在Web服务器中使用模块重写URL,或者使用自定义HTTP处理程序(ASP.Net)处理HTTP请求。
当调用以aspx
为后缀的url时,这意味着您正在请求服务器上存在的物理页面,然后使用WebForms框架通过ASP.Net运行时进行小跑并将其传送到您的浏览器
现在,如果您使用MVC框架而不是WebForms框架,那么您的URL不会引用页面,而是引用对象和函数。如果我要请求/ User / Edit / 1,该URL可以映射到Edit
对象上的User
函数,我们将传递1
作为参数。
此外,某些Web服务器具有URL重写功能,允许您将一个URL映射到另一个URL,因此它可以侦听没有后缀的URL,并透明地将请求路由到物理页面。
最后,至少在ASP.Net中,您可以在应用程序中编写将侦听HTTP请求的处理程序,如果它选择它也可以执行一些透明路由。
这些只是几种方式,肯定还有其他方式。