繁体   English   中英

URL和Rails路由系统中的双斜杠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM