要使用params在routes.rb中重定向,我们使用以下语法。
get '/stories/:name', to: redirect('/articles/%{name}', status: 301)
如果我想通过外卡网址我该怎么办? 我尝试了以下它不起作用。
get '/stories/*search', to: redirect('/articles/%{search}', status: 302)
get '/stories/*search', to: redirect("/articles/#{search}", status: 302)
我有任何黑客攻击。
答案 0 :(得分:1)
我相信这三种解决方案中的一种应该对你有用,但要确切地说出你所追求的东西有点难以理解。
这基本上会用文章切换故事并保留网址的外卡值。即/ stories / hello-world将成为/ articles / hello-world
get '/stories/*name', to: redirect('/articles/%{name}', status: 302)
或者如果您想传递整个'/stories/*name'
原始网址
get '/stories/*name', to: redirect('/articles/stories/%{name}', status: 302)
或者如果你想将通配符作为查询字符串传递,你可以这样做
get '/stories/*name', to: redirect('/articles/?name=%{name}', status: 302)