为什么在Play 2项目的路径文件中无法识别此正则表达式?

Cri*_*riu 1 playframework-2.0

我希望将所有.html文件重定向到它们所在的公用文件夹,因此我将其放在我的routes文件中:

GET     /$file<.html>           controllers.Assets.at(path="/public/html", file)
Run Code Online (Sandbox Code Playgroud)

但它说 Action not found For request 'GET /index.html'

但我可以在那里看到它(出现错误时):

GET/$file<.html> controllers.Assets.at(path:String = "/public/html", file:String)

有谁知道我做错了什么?

est*_*tic 6

您指定的正则表达式<.html>只会匹配一个看起来像"/ ahtml","/ bhtml","/ chtml"等的请求,因为"." 是单个字符的通配符.

你想要的是这样的东西,我想:

GET   /$file<.*\.html$>      controllers.Assets.at(path="/public/html", file)
Run Code Online (Sandbox Code Playgroud)

.*无论文件的第一部分是什么,它都是一个包罗万象的东西.

\.html$是什么限制了它的HTML文件.虽然不是绝对必要,但我逃脱了点,所以它实际上匹配一个句号而不是任何字符.