2010-04-15 68 views
0

我想知道VIMEO如何管理在VIMEO使用路由,例如保留其参数,搜索URI是这样的:vimeo如何路由它的网址?

http://vimeo.com/videos/search:google/,这将在这种情况下,谷歌返回的变量。

这是很容易做到,只需在PHP中使用的路线和爆炸来获得您所需要的数据转换成有用的阵列,是什么把我搞湖涂是他们是如何得到这个网址的工作:

http://vimeo.com/videos/search:go/ogle/,在我的脑海里,路由器怎么知道这个部分什么时候结束,vimeo似乎能够读取它作为“go/ogle”,但我不知道它如何能够区分新的部分和现有的部分?为什么它不应该有两个键作为搜索:另一个作为ogle:?

希望这是有道理

回答

4

这似乎是使用/作为分隔符不那么严格。从网址修补它,我想它会加载控制器videos(如果我可以做一些猜测),并使用search:作为搜索术语后的任何东西。在search:之后它似乎没有划分参数。

+0

是的,我认为你是对的,我尝试添加一些排序bizzarely它只能在刷新:http://vimeo.com/videos/search:google/y /排序:最旧/格式:缩略图 非常奇怪,我想我会过滤那些东西,无论如何,因为它有这么多的潜力,搞砸了! 感谢您的答案:) – studioromeo 2010-04-15 13:29:32

1

这看起来像cakePHP URL给我。

CakePHP的PaginatorHelper使用分页结果相似的格式和排序表中的数据,是这样的:

的http:// server.com/videos/page:1/sort:name

看看这里的工作向后:

http://api.cakephp.org/view_source/paginator-helper/

+1

感谢您的答案:)思考后,我实际上没有看到任何问题,只是使用查询字符串的东西,如排序和分页 – studioromeo 2010-05-20 10:59:37

+0

其实,它是相同的概念。在内部,cakephp在将url转换为 之前做了一些验证(例如,去掉多余的斜线)http://.../cake.php?controller = videos&action = index&search = google (nb,这是一个伪示例) 他们对RESTful URL的方法...... – DrUseful 2010-05-21 10:33:51