这个问题是我上一个问题的后续问题,可以在这里找到。如果我有一个网站www.foo.com
和用户类型在www.foo.com/blahblahblah
我希望它重定向到根路径,并能够操纵文本blahblahblah
。我使用了罗布·戴维斯对这个问题提出的解决方案,它在大多数情况下都能正常工作——如果用户输入像www.foo.com/a/b/c
这样的东西,它会重定向到根路径,字符串a/b/c
被正确地存储在params[:not_found]
中。但是,如果用户输入带有问号的东西,比如www.foo.com/a?b=c
,那么存储在params[:not_found]
中的所有内容都是a
, ?b=c
就消失了。我如何确保问号与否,www.foo.com/
后的所有文本都存储在params[:not_found]
中?
再一次,请先阅读这里的问题和答案。如果你能回答这个问题,那就太棒了!
Rails路由只能匹配补丁,不能匹配查询字符串。
如果您使用Rob Davis给您的第一个示例(没有重定向的那个),您将能够使用
检查querystring参数:request.query_string
检查这个,可能也有用:Rails路由与查询字符串