如何在 Play2 中使用通配符定义 url 路由?

How to define url routes with wildcard in Play2?

我正在使用 Play 2 和 Scala。我想定义一个路由器规则,以便任何错误的 url 都重定向到根目录:

# Home page
GET     /                           controllers.Application.index(ignore="")

# global fall over
GET     /*ignore                    controllers.Application.index(ignore)

这很丑陋,我必须定义一个无用的参数来满足语法...知道如何删除那个 ignore 参数吗?

在您的 app 目录中创建扩展 GlobalSettings 的对象:

import play.api.GlobalSettings
import play.api.mvc._
import play.api.mvc.Results._
import scala.concurrent.Future

object Global extends GlobalSettings{
  override def onHandlerNotFound(request: RequestHeader) = {
    Future.successful(Redirect("/"))
  }
}

//routes
GET     /                           controllers.Application.index()

文档:https://www.playframework.com/documentation/2.3.x/ScalaGlobal