我想用playframework做一个重定向功能。到目前为止,我在我的路线中有这个
GET /redirect com.test.redirect(redirecturl: String?="")
和我的控制员:
public static Result redirect(String redirecturl) {
return redirect(redirectURL);
}
这个效果很好,但是当我传递一个包含分号的网址时,我遇到了问题“;”
如果我去
http:localhost:9000/redirect?redirecturl=http://www.google.com;testaftersemicolon
它将我重定向到google.com,但在我的日志中,redirecturl仅等于分号后停止的“http://www.google.com”。
有没有办法逃脱它?或者在游戏中进行自定义路由?
答案 0 :(得分:1)
您应该可以通过在路径文件中使用自定义正则表达式来转义它。这在the documentation about routing中有所描述。 基本上类似下面的内容应该有效:
GET /redirect/$url<.+> com.test.redirect(url: String?="")