如何重写图像/ <文字> - <图像> - <文字>到图像/ ID.jpg?</text> </image id> </text>

时间:2010-04-20 11:39:12

标签: ruby-on-rails apache passenger mod-rewrite url-rewriting

我以前有PHP网站,并在图片上使用网址重写有SEO友好的网址, 在PHP我有像这样的链接 /image/blablablabla-1234-blablabla 改写为: /image/1234.jpg 通过在apache .htaccess文件上使用url重写规则。

所以我希望结构/image/<text>-ID-<text>无法返回/image/<id>.jpg文本内容。

现在我完全转向ruby on rails并且我想知道在RoR上做到这一点的最佳方法是什么?我正与乘客一起在apache上托管网站。

我想解决方案是在rails路由文件中,但我无法找到实现此目的的合适方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

  1. 如果您需要通过rails控制器(用于身份验证等),您可以:
  2. 一个。试试friendly_id插件。你有这个功能开箱即用。

    friendly_id guide

    B中。在控制器中添加before_filter(以解析该表单中的任何类型的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
    
    1. 如果这只是静态数据,最好是由前端apache直接服务器,所以你应该使用与php相同的技术。