0

我正在使用 Play 网络框架 1.2.4。

我的应用程序中有用户配置文件,并希望向未登录的人打开它。

所以如果我的网站是http://www.testsite.com

我希望 htp://www.testsite.com/user1 显示 user1 的个人资料,htp://www.testsite.com/user2 显示 user2 的个人资料等所有用户。就像facebook是如何做到的。

您能否建议这样做的最佳方法是什么,以及如何让谷歌和其他搜索引擎索引个人资料页面。

上面 url 中的“htp”实际上是 http。如果我有超过 2 个网址,它不会让我提交问题。

谢谢,萨万

4

1 回答 1

0

好吧,首先,创建一个控制器方法,该方法为您希望在用户访问 www.testsite.com/user1 时看到的站点提供服务。假设这是控制器中的bar(String username)方法。Foo所以你有类似的东西:

public class Foo extends Controller {

    public static void bar(String username) {
        // Do something in here and render the response. I will just render a sample text here.
        renderText("Hello " + username + "!");
    }

}

现在您只需要设置路线。所以在路由文件中,输入如下内容:

GET     /{username}         Foo.bar(username)

请记住,路由文件中路由的顺序很重要,因此请确保此路由位于底部,以便/edit/{id}在此路由之前定义类似的路由。否则 play 可能会将请求解析site.com/edit/123为调用Foo.bar("edit/123")而不是调用某些Foo2.edit(123)方法,这在大多数情况下可能不是您想要的。

当您尝试此操作并转到http://localhost:9000/sawan现在时,应该会显示Hello sawan!. 添加适当的模型和代码,您现在可以在该页面上显示您想要的任何内容。

至于谷歌索引,爬虫需要能够发现这些用户页面。您可以创建站点地图并将其添加到 google ( http://support.google.com/webmasters/bin/answer.py?hl=en&answer=156184 )。要使其动态更新,您可能需要创建这些用户页面的索引并使其可供谷歌访问,例如通过站点地图或主页上的链接等。但我不是 SEO 专家,所以你可能会更好自己用谷歌搜索更多信息。

于 2013-02-14T20:26:37.903 回答