我对nginx具有以下配置
location /discord/ {
rewrite ^/discord/(.*) /$1 break;
proxy_pass http://127.0.0.1:8086/;
proxy_pass_header Cookie;
port_in_redirect off;
proxy_set_header Host $host;
}
location / {
proxy_pass http://127.0.0.1:8089/;
proxy_pass_header Cookie;
proxy_set_header Host $host;
}
如您所见,我有两个服务器在同一域上运行 问题是:
我在 http://127.0.0.1:8086/ 中有一个链接。假设我要访问默认页面,我打开此链接 http://domain/discord ,然后按此页面上带有路径“ / test”的链接,然后转到下一页 http://domain/test ,但我想访问此页面 http://domain/discord/test
如何配置Nginx在 http://127.0.0.1:8086/ 页内的URL中添加 discord 前缀
答案 0 :(得分:1)
您在这里尝试做的是,使重写规则根据先前路径
将访问者重定向到其他位置这将需要Web服务器了解referer request header,该{{3}}只能从应用程序层(例如PHP)实现,而在我的理解中不能实现服务器配置
一种方法是在链接上使用 relative 路径,例如:
下的根文档(由Web服务器重写)
http://domain/discord/
绝对路径:
href="/test"
=>http://domain/test
相对路径:
href="./test"
=>http://domain/discord/test
您可以更改位置以便将来在Nginx中重写,并且不会影响相对路径
http://domain/telegram/
下的根文档(由Web服务器重写)绝对路径:
href="/test"
=>http://domain/test
相对路径:
href="./test"
=>http://domain/telegram/test
答案 1 :(得分:0)
在链接中添加“ discord / test”作为href。