qd icon indicating copy to clipboard operation
qd copied to clipboard

[Feature] 反代二级目录的显示异常

Open yfdoor opened this issue 1 year ago • 6 comments

Verify steps

  • [X] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • [X] Need 当前 QD 框架并不包含该功能特性或者还不完善
  • [X] Framework 这是 QD 框架应包含的特性,并非模板特性
  • [X] Meaningful 我提交的不是无意义的 催促更新或修复 请求

Describe the Feature

将网站反代到二级目录下,例如 https://www.com/qd 这种二级目录下时,页面由于静态资源路径的问题显示异常。只能反代二级域名,例如 https://qd.www.com/, 但实际中为了减少dns解析设置,第一种的需求还是挺重要的,希望考虑可以支持

Describe the solution

我查找了既有issue, 有人提到通过设置 base_url,但实际中这似乎并没有起作用,所以还是希望可以考虑支持。

Describe alternatives

No response

Additional context

No response

yfdoor avatar Mar 27 '24 00:03 yfdoor

STATIC_URL_PREFIX 环境变量设置为 /qd/static/

a76yyyy avatar Apr 06 '24 10:04 a76yyyy

STATIC_URL_PREFIX 环境变量设置为 /qd/static/

加上这个变量后,只能让首页显示正常了,但是一点登录就跳转到域名首页去了,后续的页面也不能正常跳转 是不是应该再有一个类似 BASE_URL 的定义,定义为类似 https://www.google.com/qd 这样的,而不是让他跳转到域名首页去

yfdoor avatar Apr 07 '24 12:04 yfdoor

+1 希望支持该功能

jiusun avatar May 14 '24 06:05 jiusun

目前大多数可以自建的开源项目都会考虑baseurl的问题,但是根据技术栈的情况,有时候实现起来简单,有时候困难

不管如何还是很期待该功能的

christaikobo avatar Jun 06 '24 17:06 christaikobo

目前大多数可以自建的开源项目都会考虑baseurl的问题,但是根据技术栈的情况,有时候实现起来简单,有时候困难

不管如何还是很期待该功能的

本年度开展框架功能重构,由于个人精力有限,请耐心等待

a76yyyy avatar Jun 07 '24 05:06 a76yyyy

我自己用caddy做了一点hack, 供需要的人参考 请勿使用STATIC_URL_PREFIX

{
	order replace after encode
}
mydomain.com:443 {
	handle_path /qd* {
		reverse_proxy IP:PORT {
			header_up Accept-Encoding identity
			header_down Location /my/ /qd/my/
			header_down Location ^/$ /qd/
		}
		replace stream {
			/static/ /qd/static/
			/my/ /qd/my/
			/task/ /qd/task/
			/tpl/ /qd/tpl/
			/util/ /qd/util/
			/user/ /qd/user/
			/site/ /qd/site/
			/about/ /qd/about/
			re (/login['"]) /qd$1
			re (/logout['"]) /qd$1
			re (/har/edit['"]) /qd$1
			re (/har/test['"]) /qd$1
			href="/" href="/qd/"
		}
	}
}

二级目录/子路径为 /qd caddy需要用xcaddy编译添加https://github.com/caddyserver/replace-response

christaikobo avatar Sep 25 '24 17:09 christaikobo