面向公众的网站设计

时间:2013-02-14 18:12:40

标签: web-applications playframework

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

我的应用程序中有用户个人资料,并希望将其打开给未登录的人。

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

我希望htp://www.testsite.com/user1显示user1的个人资料,htp://www.testsite.com/user2 show user2的个人资料等等。就像facebook如何做到这一点。

您能否建议一下这样做的最佳方法是什么?然后我如何让谷歌和其他搜索引擎索引个人资料页面。

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

谢谢, 沙旺

1 个答案:

答案 0 :(得分: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}之类的路线。否则,播放可能会将请求site.com/edit/123解析为调用Foo.bar("edit/123"),而不是调用某些Foo2.edit(123)方法,这可能不是您在大多数情况下所需的方法。

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

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