我如何设置应运行 Redmine 的路径,例如example.com:3000/redmine
而不是example.com:3000
?设置面板中有一个适当命名的选项,但根据文档和实验观察,它有不同的用途(它用于在发送给用户的电子邮件中写入 URL)。
更广泛地说:我需要这个才能通过 Apache 的 mod_proxy 在端口 80 上正确服务 Redmine(即在example.com/redmine
)。问题是,在 上运行它时/
,主页无法加载必要的资源(例如 JavaScript 和 CSS 文件)。有什么解决方法吗?
答案1
我使用了 Proxy-HTML 模块:
ProxyPass /redmine http://example.com:3000
ProxyHTMLURLMap http://example.com:3000 /redmine
<Location /redmine>
ProxyPassReverse http://example.com:3000
SetOutputFilter proxy-html
ProxyHTMLURLMap / /redmine/
ProxyHTMLURLMap /redmine/ /redmine
</Location>
答案2
使用输出过滤器实际上是一个坏主意,因为我无法在任何地方工作。
更好的办法是指示您的应用服务器(mongrel、thin 等)告诉 Rails 应用部署的基本 URL。这样,Rails 可以直接生成正确的链接。这可以通过附加--prefix /redmine
到应用服务器参数来完成。
在cluster.xml
mongrel_cluster 使用的文件中,可以通过插入
前缀:/redmine
进入它。(至少,我相信这个语法是正确的)