Playframework 2.0 为什么在Play 2项目中我的路由文件中无法识别此正则表达式?
我希望将所有Playframework 2.0 为什么在Play 2项目中我的路由文件中无法识别此正则表达式?,playframework-2.0,Playframework 2.0,我希望将所有.html文件重定向到它们所在的公用文件夹,因此我将其放入我的路由文件中: GET /$file<.html> controllers.Assets.at(path="/public/html", file) GET/$file controllers.Assets.at(path=“/public/html”,file) 但它表示请求“GET/index.html”未找到操作 但是我可以在那里看到它(当错误出现时): GET/$file
.html
文件重定向到它们所在的公用文件夹,因此我将其放入我的路由
文件中:
GET /$file<.html> controllers.Assets.at(path="/public/html", file)
GET/$file controllers.Assets.at(path=“/public/html”,file)
但它表示请求“GET/index.html”未找到操作
但是我可以在那里看到它(当错误出现时):
GET/$file controllers.Assets.at(path:String=“/public/html”,file:String)
有人知道我做错了什么吗?尝试添加一个*
通配符:
GET /$file*.html controllers.Assets.at(path="/public/html", file)
尝试添加一个*
通配符:
GET /$file*.html controllers.Assets.at(path="/public/html", file)
由于“.”是一个单字符通配符,因此您指定的正则表达式只与“/ahtml”、“/bhtml”、“/chtml”等类似的请求匹配
你想要的是这样的,我想:
GET /$file<.*\.html$> controllers.Assets.at(path="/public/html", file)
GET/$file controllers.Assets.at(path=“/public/html”,file)
无论文件的第一部分是什么,*
都是包罗万象的
\.html$
是将其限制为html文件的原因。虽然不是严格必需的,但我对点进行了转义,因此它实际上匹配一个句点而不是任何字符。您指定的正则表达式只匹配看起来像“/ahtml”、“/bhtml”、“/chtml”之类的请求,因为“.”是单字符通配符
你想要的是这样的,我想:
GET /$file<.*\.html$> controllers.Assets.at(path="/public/html", file)
GET/$file controllers.Assets.at(path=“/public/html”,file)
无论文件的第一部分是什么,*
都是包罗万象的
\.html$
是将其限制为html文件的原因。虽然不是严格必要的,但我转义了点,因此它实际上匹配一个句点,而不是任何字符