我注意到一些网站(包括旧的
http://careers.stackoverflow.com 1.0)的查询字符串如下所示:
HTTP://somewebapp.example/ 123
相比于:
http://somewebapp.example/123或http://somewebapp.example/id/123
开发人员选择使用第一个示例而不是第二个和第三个示例来实现其Web应用程序URL的原因是什么?
作为奖励,如果123是数据库表中某些行的主键,那么如何在PHP中实现第一个示例呢? (我只需要知道如何从URL中检索123;我已经知道如何在数据库中查询123的主键.)
编辑[5/28]:哎呀,忘了让每个人都知道我知道后两个URL是什么,它们如何工作以及如何实现它们.感谢提醒,但我认为我有一些无关紧要的错误观念,无论如何都是偶然澄清的!
第一种更容易实施;之后的一切?是查询字符串的一部分. Web服务器加载在?之前指定的页面,并单独处理查询字符串(在PHP中可以通过$_GET访问)
在第二个示例中,开发人员需要设置Web服务器以将所有请求重定向到特殊页面(因为服务器上没有/ 123页面),然后将解析URL以确定请求的内容
至于你的上一个问题,123将在$_GET中显示为一个键,所以键($_ GET)将起作用,假设它是你在查询字符串中传递的唯一内容