gpt4 book ai didi

angularjs - AngularJS 的 Play2 重定向

转载 作者:行者123 更新时间:2023-12-02 21:23:38 24 4
gpt4 key购买 nike

我正在尝试让 Play2 能够与 AngularJS 很好地配合。 Play2 将不了解 AngularJS,因为我使用 Yeoman 进行前端开发。

我唯一想要了解的部分是重写 url,以防用户在 HTML5MODE 中刷新。我的路线文件的最后一行有

GET   /*path          controllers.Default.redirect(to = s"#!/$path")

但是,这不起作用。首先,在路由文件中,似乎不允许使用字符串插值,因为 $path 无法解析。此外,在字符串中使用#也会出错,因为#是注释的开始。

我可以为此路线创建一个 Controller 操作,只需附加“#!”到这样的路径:

GET   /*path          controllers.Application.redirect(path: String)

/* in Application controller */
def redirect(path: String) = Action {
Redirect(s"#!/$path")
}

但我更喜欢在路由文件中保持非常清晰,就像在 Ruby on Rails 中一样,我可以这样做

get '/*path' => redirect("/#!/%{path}")

您能与我分享您的技巧和最佳实践吗?

谢谢

最佳答案

您最好在 Apache 或 Nginx 中进行此重写 - Web 服务器的 URL 重写功能比 Play 的强大得多。请参阅the Play documentation了解如何在 Play 前面设置 Web 服务器,然后查看 Web 服务器的文档以了解如何设置您想要的重写。

关于angularjs - AngularJS 的 Play2 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27279401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com