Ruby on rails 如何将image/--重写为image/ID.jpg?

Ruby on rails 如何将image/--重写为image/ID.jpg?,ruby-on-rails,apache,passenger,mod-rewrite,url-rewriting,Ruby On Rails,Apache,Passenger,Mod Rewrite,Url Rewriting,我曾经有PHP网站,并在图片上使用url重写来获得SEO友好的url, 在php上,我有如下链接 /图片/bla-1234-bla 改写为: /image/1234.jpg 通过在apache.htaccess文件上使用url重写规则 因此,我希望结构/image/-ID-返回/image/.jpg无规则文本内容 现在我完全转向RubyonRails,我想知道在RoR上实现这一点的最佳方式是什么?我与乘客一起在apache上托管网站 我猜解决方案在rails路由文件中,但我无法找到实现这一点的适

我曾经有PHP网站,并在图片上使用url重写来获得SEO友好的url, 在php上,我有如下链接 /图片/bla-1234-bla 改写为: /image/1234.jpg 通过在apache.htaccess文件上使用url重写规则

因此,我希望结构/image/-ID-返回/image/.jpg无规则文本内容

现在我完全转向RubyonRails,我想知道在RoR上实现这一点的最佳方式是什么?我与乘客一起在apache上托管网站

我猜解决方案在rails路由文件中,但我无法找到实现这一点的适当方法

提前谢谢

如果您需要通过rails控制器进行身份验证等,您可以: 试试这个插件。你有这个现成的功能

B.在控制器中添加before_过滤器,以解析该表单中的任何类型的URL

before_filter :rewrite_id

def rewrite_id
  if params[:id] && params[:id] =~ /[a-zA-Z0-9]*-([0-9]*)-[a-zA-Z0-9]*/
    params[:id] = $1.to_i
  end
end
如果这只是静态数据,最好由前端apache直接作为服务器,因此您应该使用与php相同的技术。
谢谢你的回答。我正在使用已经友好的id进行带有固定评论的文章。在我的情况下,我想有一个重写规则来处理任何文本“blabla”。非常感谢。我认为B解决方案是最好的方法,因为每个网站可能有不同的规则。我将试一试B方法是否能按预期工作。谢谢。我让它在视频控制器上工作,并使用路径/video/show/-1-处理为/video/show/1,但对于图片,该方法不起作用。我将图片存储在rails应用程序的路径public/images/gallery/中。如果愿意通过/images/gallery/first-1-image重写公共/images/gallery/1.jpg,该方法将失败。我创建了一个图像控制器,但重写规则不起作用。我遗漏了什么吗?/public文件夹中的文件不是Rails stack提供的,而是直接由乘客提供的。毕竟,你似乎仍然需要修改:谢谢你的提示。控制器中的重写方法将有助于解决某些问题。谢谢,先生