[ad_1]
为什么论坛使用url格式:
www.domain.com/post/1234/最新帖子
而不是这样的:
www.domain.com/post?&号码?&主题
我正在开发一个论坛网站,并会使用格式 2。
我想知道使用格式1的原因及其背后的原理。看来url所表示的是文件夹的地址,而不是脚本或网页的地址。
我没有看到以 .php 或 .asp 或 .jsp 结尾的 url,所以如何处理请求,因为它不是脚本的地址。
编程是如何完成的?
解决方案1
纯粹从务实的角度来看。 使用哪种方法并不重要。
这两种方法要解决的问题是能够定位页面并传入参数。
可以说,使用 www.domain.com/post/1234/Latest 是一个更具可读性的 URL。
如果您研究一下 MVC 等 Web 框架,您就会明白这些 URL 为何/如何以这种方式构建。
他们实现了一个称为路由的概念。 下面是一个例子:
C#
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); }
此示例显示了如何构建 URL。 第一部分是控制器,第二部分是要应用的操作,第三部分是 id。
因此对于以下 URL:
301 Moved Permanently
您可以看到您正在访问客户控制器并且正在对记录 1234 执行获取操作。
[ad_2]
コメント