【问题标题】:username urls like twitter and facebook用户名网址,如 twitter 和 facebook
【发布时间】:2011-03-08 23:31:37
【问题描述】:

twitter 和 facebook 等如何制作独特的 url,例如。 twitter.com/bilgates

如果我也想做同样的事情(为我的用户提供带有用户名的唯一 url),它是一个应用程序还是你为每个用户创建一个带有索引页面的目录??

顺便说一句,我正在使用冷融合。

谢谢

【问题讨论】:

  • 如果为 ColdFusion 使用 ColdBox 框架,您可以允许 ColdBox 使用漂亮的 SES url 和 Reserved Routes 拦截器(链接如下)以防止用户选择应用程序 url。 coldbox.org/forgebox/view/Reserved-Routes

标签: facebook coldfusion twitter url-rewriting url-routing


【解决方案1】:

不会有一个实际的目录。通常,这些应用程序使用 mod_rewrite 或等效项来映射 URL。

【讨论】:

    【解决方案2】:

    更一般地说,这些在线服务(Facebook、Twitter、任何存储用户名的网站)使用数据库并进行测试,以便查看用户名在创建时是否唯一。通常通过在允许创建新帐户之前查询名称(当用户在注册表单中输入名称时,许多使用 ajax 请求执行此操作)。

    创建帐户后,可以将服务器设置为在收到 URL 请求时处理路径名(使用类似 mod_rewrite 的东西),并将信息传递给脚本,然后该脚本访问数据库中该用户的信息并呈现页面。

    这个blogpost & video 似乎很有帮助,但由于我不确定你的设置是什么,它至少应该为你指明正确的方向……Coldfusion 也让我害怕。

    【讨论】:

    • 嗯,我很高兴,这主要是许可费。另外,我更喜欢 python/django-templates 社区。而且我最近一直在 AppEngine 上进行开发。
    • 可靠的答案,但对 ColdFusion 的看法很弱;)如果您担心许可费用,可以使用 Railo 开源 CFML 引擎。
    【解决方案3】:

    我对 CF 不太熟悉,但 Facebook 的做法(有效)是有一个 Apache 重写规则,将匹配 /text3423 的页面重定向到 /profile.php?username=text3423(不是真的,但那是基本实现。)

    Twitter 使用 Ruby on Rails 的路由,所以实际上根本没有目录。它只是将 /* 映射到他们的用户提要页面。

    【讨论】:

      【解决方案4】:

      无论如何,你不能在 Coldfusion 中这样使用,但你可以像 http://cftwitter.com/index.cfm/username/billgates 这样使用。

      幸运的是,IIS7 支持 SEO 功能。你可以试试看。

      【讨论】:

        猜你喜欢
        • 2013-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        相关资源
        最近更新 更多