Ruby on Rails - .htacces RewriteRule来改变图像路径

时间:2012-09-10 12:44:03

标签: ruby-on-rails-3 image .htaccess mod-rewrite path

情况

我使用Carrierwave将图像上传到默认的上传/目录。工作良好。当我想在我的在线Web服务器的前端查看图像时,它们不会显示。

如果我在本地设置中使用我的应用程序,则会显示图像。

我本地和Web服务器设置的唯一区别是,在我的服务器上,应用程序在名为“/ app”的子目录中运行。在本地,它位于根目录中。

到目前为止我有什么

我的.htaccess中有这个Redirect命令:

Redirect 301 /uploads/model/image/54/image.jpg /app/uploads/model/image/54/imgage.jpg

我想从中制定一个通用的RewriteRule,以便找到所有具有路径“/ uploads / model / image /”的图像并重定向到“/app/uploads/model/image/".

我该怎么做?我尝试了几个RewriteRules,如:

RedirectMatch 301 /uploads/(.*) /app/uploads/

或:

Redirect 301 /uploads/model/image/(.*) /app/uploads/model/image//$1

或:

RewriteRule ^.*/app/uploads/(.*)$ http://%{HTTP_HOST}/uploads/$1 [L,R=301]

到目前为止我读过的内容

我已经在Stackoverflow上阅读了这些条目:

我真的不知道为什么会发生这种情况会非常乐意获得任何可以帮助我解决问题的提示,提示或链接。

1 个答案:

答案 0 :(得分:0)

你很亲密。尝试:

RedirectMatch 301 ^/uploads/(.*)$ /app/uploads/$1

RewriteRule ^/?uploads/(.*)$ /app/uploads/$1 [L,R=301]