首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问rails中的静态符号目录

访问rails中的静态符号目录
EN

Stack Overflow用户
提问于 2012-07-11 09:53:13
回答 1查看 136关注 0票数 1

在Rails3.1中,我能够在我的公共文件夹中放置一个指向html页面目录的符号链接,并且它起作用了。现在在Rails3.2中,当我试图打开这些html文件中的任何一个时,它会给我一个404not found页面。在rails 3.2中阻止符号链接的变化是什么,我如何解决这个问题?

为了澄清,我有一个朋友,他想把他的网站托管到我的网站上来省钱。因此,当我部署时,他的站点应该可以在http://mysite.org/hissite/上访问。他和我在同一台服务器上有一个帐户,所以我只是创建了一个符号链接,指向位于他帐户中的hissite目录。我将这个符号链接放到了我的公共文件夹中。在升级到rails 3.2之前,这就像是一个魔咒。我可以使用硬目录,但这将是我的帐户,要求他给我发送更新,然后我将不得不张贴。这是一个很大的麻烦。这对我来说很重要,允许他与我的网站托管他的内容,因为它是相关的内容,并帮助带来更多的访问者到我的网站。

更多细节:问题出在我使用passenger的生产站点上。在开发过程中,我在我的开发机器上用一个符号链接的目录测试了它,它工作得很好。硬链接似乎在生产中有效,但每当他添加新文件时,我就必须更新目录,这是一个麻烦。

EN

回答 1

Stack Overflow用户

发布于 2012-08-12 07:33:21

好吧,我想出了一个让它工作的方法,但这不是我想要的。我编写了一个capistrano任务,以便在进行部署时链接这些文件。所以我的capistrano任务看起来像这样。

代码语言:javascript
运行
复制
namespace :accounts do
    desc "Relink friend's site on each release"
    task :relink_friends_site, :roles => :app do
        run "mkdir -p #{release_path}/public/hissite"
        run "cd #{release_path}/public/hissite && ln /home/hisaccount/hissite/index.html"
        run "cd #{release_path}/public/hissite && ln /home/hisaccount/hissite/page2.html"
        ...
    end
end

如果有人知道更好的方法来解决这个问题,请让我知道。至少通过这种方式,我不必在每次部署前都自己重新链接文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11424480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档