2011-09-28 97 views
4

现在我对Sinatra/Ruby/Apache很新,但继承了Sinatra应用程序进行部署。设置Sinatra在子目录中运行

目前Apache是​​建立从文档根目录下运行(httpdocs资料),我需要运行一个文件夹目录下的子目录Ruby应用程序,如:/ httpdocs资料/ webapp的

什么我需要做的就是这个在子目录下运行?

回答

2

此链接可能是有益的,它说明了如何使用部署客运(mod_rack)与Apache一西纳特拉的应用程序:你是在虚拟主机配置RackBaseURI选项 Deploying a Sinatra App with Apache and Phusion Passenger

特别感兴趣的部分。官方文档可在这里找到: Phusion Passenger users guide - Deploying Rack to Sub URI

+0

谢谢布伦特,这正是我需要的! – Donald

+0

明白了。但子目录中的应用程序将指向“/”给父应用程序。我怎样才能指出每个应用程序的根? – goo

+0

goo:如果我正确理解您的问题,则由子目录中的sinatra应用程序生成的任何url引用都不会考虑包含子目录名称的基础url。如果这是问题,你可以看看一个像[sinatra-url-for](https://github.com/emk/sinatra-url-for/)这样的宝石,或者像本次讨论中建议的那样创建一个助手[get绝对基地url在sinatra](http://stackoverflow.com/questions/2950234/get-absolute-base-url-in-sinatra) – brentvatne