一个大型网站,对于URL规划我认为非常重要,这也是为什么我把它单列出来的原因。
当前网站上使用的URL虚虚实实已经不单单是划分目录空间功能,它与程序配合使用,实现复杂的逻辑功能。在应用程序开发框架组成中占有重要的地位。
注意 | |
---|---|
无论什么文件系统,每个目录下容纳的子目录和文件是有限制的,并且内容过多会影响文件索引速度,所以合理地划分目录空间很重要 |
下面是URL实例仅供参考,稍后我会详细解释他们这样设计的目的是什么和实现方法。
http://sina.allyes.com/main/adfclick?db=sina&bid=120294,154641,159584&cid=0,0,0&sid=146767&advid=2618&camid=19961&show=ignore&url=http://web.topxue.com/gj/bdxm/
http://news.sina.com.cn/c/2008-05-22/172315597145.shtml
http://example.org/bbs/thread-1003872-1-1.html
http://example.org/news/2008/05/22/1004862.shtml
http://example.org/uk/en/action,ProductDetailShow_productId,51
http://example.com/forums/viewforum/59/
http://example.com/forums/viewthread/80165/
http://trac.example.com/cgi-bin/trac.cgi/ticket/1286
目录设计,以下为真实目录,你在URL看到其它路径都是不存在的。它们是用于rewrite或pathinfo的。
images
framework
model
view
controller
language
config
logs
例子1
http://example.com/guestbook/view/59/
相当于
http://example.com/<controller>/<action>/<id>/
class Guestbook extend Controller{ public function index(){ } public function view($id =1){ } public function add(){} public function remove($id){ } }
一般采用pathinfo技术实现上述功能
$action = $_REQUEST['action']; $libname = $_REQUEST['lib']; $special = new Advertize ($libname,$action); if(method_exists($special, $action)) { $special->$action(); }else{ $special->index(); }
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。