0

情况

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

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

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

到目前为止我所拥有的

我的 .htaccess 中有这个重定向命令:

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 上的这些条目:

我真的不知道为什么会发生这种情况,我很乐意得到任何可以帮助我摆脱这种情况的提示、提示或链接。

4

1 回答 1

0

你很近。尝试:

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

或者

RewriteRule ^/?uploads/(.*)$ /app/uploads/$1 [L,R=301]
于 2012-09-10T13:03:37.457 回答