我在 Windows 上安装了 apache2.2。我正在尝试同时提供颠覆 (/svn) 和 redmine (/redmine)。我的 svn 使用此配置运行良好:
<Location /svn>
DAV svn
SVNParentPath C:/svn_repository
...
</Location>
这很好用——我的 svn 用户可以点击 http://mybox/svn就好了。
现在我想为 Rails 应用程序 (RedMine) 添加另一个目录:
我遵循了 this question 中的建议设置杂种服务器并让 apache 代理客户端连接到它。如果我将它设为根目录,它工作正常——但我在将它设为子目录时遇到了问题:
<Location /redmine>
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
有什么建议吗?
最佳答案
这是我必须更改的内容:
我删除了结尾的斜线:
<Location /redmine>
ProxyPass http://localhost:3000
ProxyPassReverse http://localhost:3000/
</Location>
在我的 Rails 应用程序中:
# added to end of file C:\redmine\config\environment.rb
ActionController::AbstractRequest.relative_url_root = "/redmine"
现在可以了!
我对这种方法不是很满意——我遇到了一些重定向问题。这是迄今为止似乎运作良好的另一种尝试。
第二种方法似乎更好。
更新:
如评论中所述,对于在 Rails 2.3.2+ 上运行的最新应用程序,请改用它:
config.action_controller.relative_url_root = '/redmine'
我把它放在新的 additional_environment.rb
文件中。
关于ruby-on-rails - 在 Apache 下的子目录中配置 Ruby On Rails App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470961/