如何在nginx中配置重定向以响应某个具有相对重定向到特定路径的URL?
在nginx的文件表明,这是nginx的默认模式,但在现实中,如果位置被重定向到开始于/ nginx的与在位置字段中的绝对URL响应.
对于包含位置的本地服务器配置
location = /a {
return 301 some/path;
}
location = /b {
return 301 /qwerty;
}
Run Code Online (Sandbox Code Playgroud)
响应/ a的请求的位置是:
Location: some/path
Run Code Online (Sandbox Code Playgroud)
对于/ b它是:
Location: http://127.0.0.1/qwerty
Run Code Online (Sandbox Code Playgroud)
但是,我们希望/ b回复:
Location: /qwerty
Run Code Online (Sandbox Code Playgroud)
我们想要使用相对重定向的原因是我们想要从不同的域和代理访问nginx,例如在dev中清除或通过ssl终止负载均衡器,并且宁愿通过减轻需要理解的nginx来保持简单那个背景.
仅供参考这些示例针对nginx版本1.4.6和1.9.6进行测试,使用curl,例如:
curl --head http://127.0.0.1/b
Run Code Online (Sandbox Code Playgroud)