294334

docker部署,二级目录访问的解决方法

回贴
回帖数 7
阅读数 1374
发表时间 2024-03-01 15:31:19
🍖
凌毅 楼主

本人有个小站,假设为abc.com,现希望部署禅道,使用abc.com/zentao的二级目录形式访问。

使用docker部署,配置nginx后,发现修改配置文件config.php里的$config->webRoot并没有效果

最后多次尝试后,修改了framework/base/helper.class.php里的getWebRoot函数,在return前增加一句$path = '/zentao' . $path;解决了我的难题。


不知道大家有没有更好的实践?

如果官方有正规的方法,请指正,希望以后能改善。

7个回复
🤖
金凯 沙发
能够实现就可以,一般的方式是通过修改apache的配置文件httpd.conf来实现,比如Alias /zentao "/####/###/zentao/www/"
2024-03-01 16:06:07 金凯 回帖
🍖
凌毅 板凳 回复#1
使用docker部署的,没有apache
2024-03-01 16:25:08 凌毅 回帖
🤖
金凯 #3
您使用的是官方docker镜像吗,官方镜像里使用的是apache2
2024-03-01 17:15:30 金凯 回帖
🍖
凌毅 #4 回复#3
是用官方docker镜像,这倒不了解,那这个apache2的配置文件在哪里呢?
2024-03-01 17:52:01 凌毅 回帖
🤖
金凯 #5
您好,是 /opt/zbox/etc/apache/httpd.conf 这个文件
2024-03-04 08:40:17 金凯 回帖
📫
帅呆的胡萝卜 #6

不用那么麻烦,只需要设置环境变量 ZT_WEB_ROOT=/zentao 即可。

docker -e “ZT_WEB_ROOT=/zentao“  run xxx

然后注意 nginx 反向代理时,需要设置一些参数,否则无法登录:

location ^~ /zentao/ {
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header REFERER $http_referer;
  proxy_pass http://127.0.0.1:30020;
}
+15 2025-04-08 17:35:34 帅呆的胡萝卜 最后编辑 2025-04-08 17:35:34 帅呆的胡萝卜 回帖
孔令茂 #7 回复#6

可以的,给你点赞

2025-04-23 09:02:49 孔令茂 回帖
联系我们
联系人
高丽亚/高级客户经理
电话(微信)
17667930330
QQ号码
3645260865
联系邮箱
gaoliya@chandao.com
高丽亚
高级客户经理
17667930330
3645260865
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。