dre*_*ves 4 ruby routing ruby-on-rails url-rewriting
我的 routes.rb 中的这个尝试重写规则可能是不言自明的:
match "/:user/:photo-thumb.png" =>
redirect("/%{user}/photos/%{photo}/image?style=thumb"),
:photo => /[a-zA-Z]+/
Run Code Online (Sandbox Code Playgroud)
我想将 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/ }
Run Code Online (Sandbox Code Playgroud)
我很想找到一种更简单的方法来做到这一点。(正如 tadman 指出的那样,我最好使用 nginx 重写来做这件事。请参阅这个相关问题:Routes.rb vs rack-rewrite vs nginx/apache rewrite rules)
归档时间: |
|
查看次数: |
5058 次 |
最近记录: |