播放2.1.x默认捕获所有路由

时间:2013-12-28 20:57:32

标签: scala playframework routes playframework-2.1

在Play框架中是否有默认捕获所有后备路由?如果是这样,我如何在我的路线文件中配置它?目前,有些网址我不希望用户给他们打电话,即使他们打电话,我也不希望出现错误页面,而是希望他们转到我的网络应用程序的登录页面!有没有办法在路由配置文件中执行此操作?

2 个答案:

答案 0 :(得分:7)

只需在routes文件末尾定义匹配任何路径的路线即可。不要忘记为您的资产定义特定路线,例如:

GET   /               controllers.Application.index
GET   /some/path      controllers.Application.someHandler
...

# End of file
GET   /favicon.ico    controllers.Assets.at(path="/public", file="img/favicon.ico") 
GET   /$file<(css|img|js|partials)/.*>    controllers.Assets.at(path="/public", file) 
GET   /$path<.*>      controllers.Application.catchall(path)

任何与先前规则不匹配的网址都将与此匹配。

答案 1 :(得分:4)

当您想对路径执行某些操作时(即在自定义操作中手动解析),捕获所有路线是有意义的,否则在Global object和重定向请求中使用常见onHandlerNotFound就足够了哪里都行。