Nginx 将路径重定向到不支持“#”的新结构

发布于 2025-01-11 09:04:58 字数 762 浏览 0 评论 0 原文

我正在尝试在 nginx 中创建以下重写:

https://my-domain/app/kibana#/discover?<some-get-params>

https://new-domain/app/discover#/?<some-get-params>

认为是因为“#”字符而苦苦挣扎。 我能够重定向到目的地,但始终没有参数。

我的最后一次尝试如下:

location / {
    rewrite ^/app/kibana#/discover(.*)$ https://my-new-domain.com/app/discover#/$1 redirect;
}

这个发生的情况是 404。

如果我做类似的事情:

location / {
    rewrite ^/app/kibana(.*)$ https://my-new-domain.com/app/discover#/$args redirect;
}

我被重定向到正确的目的地,但没有任何参数: https://my-new-domain.com/app/discover#/ 如果我用 $1 代替 $args ,也是一样的

I'm trying to create the following rewrite in nginx:

https://my-domain/app/kibana#/discover?<some-get-params>

to

https://new-domain/app/discover#/?<some-get-params>

I'm struggling I think because of the "#" character.
I am able to redirect to the destination, but always without the params.

My last attempt was as follows:

location / {
    rewrite ^/app/kibana#/discover(.*)$ https://my-new-domain.com/app/discover#/$1 redirect;
}

What happens with this one is a 404.

If instead I do something like:

location / {
    rewrite ^/app/kibana(.*)$ https://my-new-domain.com/app/discover#/$args redirect;
}

I get redirected to the right destination but without any args: https://my-new-domain.com/app/discover#/
Same thing if instead of $args I use $1 instead

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文