我有以下文件夹结构:
/rails
/public
/images
我有2个域名: long_domain.com short.one
我希望在加载long_domain.com时它将/ public文件夹用作public,当加载short.one时,它使用/ public / images
问题是我不希望它加载路由,它应该充当原始公用文件夹。
这可以用Rails完成吗?使用另一个“静态”轻量级服务器会更好吗?
答案 0 :(得分:0)
有几种方法可以做到这一点。
如果您将图片托管在网站外,则必须在图片代码中使用完整网址。相关链接将转到您的CDN或图像所在的网站。这里的优点是你可以明确控制你的应用程序,它可能会起作用。我在配置中为图像托管位置定义了一些常量,以便稍后我可以轻松更改它。
除此之外,您可以使用mod_passenger代理回Rails并使用mod_rewrite规则动态重写图像标记。这里的优点是您不必更改您的应用程序(虽然更改可能不是太糟糕)。问题是mod_rewrite是正则表达式所以可能需要一些游戏来找出正确的规则(并测试所有奇怪的情况)。
第三种选择是使用宝石。如果你真的想要扩展你的图像处理,你应该切换到Dragonfly,它可以在你想要的任何地方存储图像的辅助副本。它有很多选项和功能。听起来你会对它的这方面感兴趣: http://markevans.github.com/dragonfly/file.DataStorage.html
希望这会给你一些想法。