作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
redirect("/%{user}/photos/-6ren">
我的 routes.rb 中的这个尝试重写规则可能是不言自明的:
match "/:user/:photo-thumb.png" =>
redirect("/%{user}/photos/%{photo}/image?style=thumb"),
:photo => /[a-zA-Z]+/
我想将 mysite.com/alice/foo-thumb.png 之类的内容重定向到 mysite.com/alice/photos/foo/image?style=thumb
虽然上面的尝试是错误的。有什么解决办法吗?
最佳答案
以下对我有用:
match "/:user/:photo_thumb.png" =>
redirect{|p|
"/#{p[:user]}/photos/#{p[:photo_thumb].split('-')[0]}/image?style=thumb"
},
:constraints => { :photo_thumb => /[a-zA-Z]*\-thumb/ }
不过,我很想找到一种更简单的方法。 (正如 tadman 指出的那样,我最好使用 nginx 重写来执行此操作。请参阅此相关问题:Routes.rb vs rack-rewrite vs nginx/apache rewrite rules)
关于ruby-on-rails - 如何在 Rails 路由中使用正则表达式进行重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799024/
我是一名优秀的程序员,十分优秀!