【问题标题】:How does vimeo route it's urls?vimeo 如何路由它的网址?
【发布时间】:2011-02-08 09:16:15
【问题描述】:

我想知道 vimeo 如何使用路由保留其参数,例如在 vimeo 中,搜索 uri 看起来像这样:

http://vimeo.com/videos/search:google/,在本例中将返回一个变量 google。

这很容易做到,可以简​​单地使用 php 中的路由和爆炸来将您需要的数据放入一个有用的数组中,让我感到困惑的是他们如何设法让这个 url 工作:

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

希望这是有道理的

【问题讨论】:

    标签: php uri routes vimeo


    【解决方案1】:

    使用/ 作为分隔符似乎没有那么严格。通过在 URL 上修改它,我猜它会加载控制器 videos(如果我能做出一些猜测的话)并使用 search: 之后的任何内容作为搜索词。在search: 之后似乎没有划分参数。

    【讨论】:

    【解决方案2】:

    对我来说,这看起来像是一个 cakePHP URL。

    CakePHP PaginatorHelper 使用类似的格式来分页结果和排序表数据,类似于:

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

    看看这里并向后工作:

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

    【讨论】:

    • 感谢您的回答 :) 经过深思熟虑后,我实际上认为仅使用查询字符串进行排序和分页等操作没有任何问题
    • 其实是同一个概念。在内部,cakephp 在将 url 转换为 http://.../cake.php?controller=videos&action=index&search=google 之前会进行一些验证(例如,删除多余的斜杠)(nb,这是一个伪示例!)这是他们的 RESTful 方法网址...
    猜你喜欢
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2020-04-14
    • 2012-11-06
    • 2013-09-24
    相关资源
    最近更新 更多