1

我想用 playframework 做一个重定向功能。到目前为止,我的路线中有这个

GET     /redirect            com.test.redirect(redirecturl: String?="")

和我的控制器:

public static Result redirect(String redirecturl) { 
   return redirect(redirectURL); 
}

这运行良好,但是当我传递包含分号“;”的 url 时出现问题

如果我去

http:localhost:9000/redirect?redirecturl=http://www.google.com;testaftersemicolon

它将我重定向到 google.com,但在我的日志中,redirecturl 仅等于“ http://www.google.com ”在分号后停止。

有没有办法逃脱呢?还是在play里面做一个自定义路由?

4

1 回答 1

1

您应该能够通过在路由文件中使用自定义正则表达式来转义它。这在有关路由的文档中进行了描述。基本上类似下面的东西应该工作:

GET     /redirect/$url<.+>            com.test.redirect(url: String?="")
于 2012-08-15T21:32:36.863 回答