我正在使用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个网址,它将不会让我提交问题。谢谢, 沙旺
答案 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)。要使其动态更新,您可能需要创建这些用户页面的索引并使其可供谷歌访问,例如通过站点地图,或主页上的链接等。但我不是搜索引擎优化的专家,所以你可能会更好地用谷歌搜索一些更多的信息。