[英]Double slashes in URL and rails route system
在我的Rails应用程序中,两个URL如
http://myurl/foo/bar
http://myurl/foo//bar
以相同的方式处理。 从Rails忽略斜线之间包含的空属性是很聪明的,但是当我将所有内容与前端Javascript框架链接时,这将成为一个问题; 我的前端路由系统因此而崩溃。
我认为,这应该被Rails理解为URL中的一个问题,因为它看起来更加严格和合乎逻辑。
因此,当routes.rb
在路径中检测到//
时,我想简单地将用户重定向到首页; 这怎么可能 ?
谢谢 ;)
编辑:
我尝试过这种事情
match ':url' => redirect('/'), :constraints => { url: /\/+/ }, via: [:get, :post]
而且它不起作用,似乎是在Rails首先操纵绝对URL或类似的东西之后读取了路由文件...
我会尝试编写一个正则表达式来验证路由,然后再将其传递到特定控制器以处理该路由。 如果验证证明该网址无效,它将重定向到本地路由
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.