【问题标题】:github url stylegithub 网址样式
【发布时间】:2011-02-27 11:08:10
【问题描述】:

我想让我的网站内的用户拥有自己的 URL,例如 http://mysite.com/username(类似于 GitHub,例如我的帐户是 http://github.com/sr3d)。这将有助于 SEO,因为与子域方法相反,每个配置文件都在同一个域下。

我的网站在 Rails 和 Nginx/Passenger 上运行。目前我有一个解决方案,在 nginx.conf 文件中使用大量重写,以及硬编码的控制器名称(也支持命名空间)。如果你们想看看,我可以在这里分享 nginx.conf。

我想知道是否有更好的方法使 URL 变得像这样。

(如果您建议在更好的地方发布此问题,请告诉我)

干杯,

亚历克斯

【问题讨论】:

    标签: ruby-on-rails nginx github rewrite


    【解决方案1】:

    将此行放在 routes.rb 文件的末尾,(这样就不会干扰其他控制器路由)

    map.connect "/:username", :controller=> "users", :action => "show"

    在 users_controller 中,使用以下行获取用户

    @user = User.find_by_username(params[:username])

    我认为这不需要任何 nginx 魔法或 url 重写。

    HTH

    【讨论】:

    • 这将涉及将某些用户名列入黑名单以避免与之前定义的路由产生歧义。
    • 感谢您指出这一点,需要将某些用户名列入黑名单。
    • 这里有很好的智能用户名黑名单示例,包括 Github 正在使用的黑名单:quora.com/…
    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2015-01-25
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多