Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
4 tasks done
yfdoor opened this issue Mar 27, 2024 · 6 comments
Open
4 tasks done

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

yfdoor opened this issue Mar 27, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@yfdoor
Copy link

yfdoor commented Mar 27, 2024

Verify steps

  • Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • Need 当前 QD 框架并不包含该功能特性或者还不完善
  • Framework 这是 QD 框架应包含的特性,并非模板特性
  • 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 yfdoor added the enhancement New feature or request label Mar 27, 2024
@a76yyyy
Copy link
Contributor

a76yyyy commented Apr 6, 2024

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

@yfdoor
Copy link
Author

yfdoor commented Apr 7, 2024

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

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

@jiusun
Copy link

jiusun commented May 14, 2024

+1 希望支持该功能

@terrytw
Copy link

terrytw commented Jun 6, 2024

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

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

@a76yyyy
Copy link
Contributor

a76yyyy commented Jun 7, 2024

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

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

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

@terrytw
Copy link

terrytw commented Sep 25, 2024

我自己用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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants