📜  nginx absolute_redirect (1)

📅  最后修改于: 2023-12-03 14:44:35.530000             🧑  作者: Mango

NGINX absolute_redirect

介绍

absolute_redirect 是 NGINX 内置的一个指令,用于控制重定向时返回的目标 URL 是否为绝对路径。如果设置为 on,则会返回绝对路径,如果设置为 off,则会返回相对路径。

默认情况下,absolute_redirect 的值为 on。这意味着当 NGINX 重定向时,返回的 URL 会以协议、主机名和端口号等组成绝对路径。

使用方法

要使用 absolute_redirect,需要在 NGINX 配置文件中设置该指令。示例如下:

server {
    listen 80;
    server_name example.com;
    absolute_redirect off;
    return 301 /new-page/;
}

在上面的示例中,设置了 absolute_redirect off; 指令,这意味着重定向返回的 URL 会是相对于当前 URL 的路径。

注意事项

absolute_redirect 仅适用于 NGINX 执行的重定向,并不会影响其他 HTTP 响应的 URL。

此外,如果将 absolute_redirect 设置为 off 并且使用了 HTTPS,则需要确保在主机名之前添加 //,否则浏览器可能会识别不了 URL 中的 HTTPS 协议,从而无法正确跳转。示例如下:

server {
    listen 80;
    server_name example.com;
    absolute_redirect off;
    return 301 //example.com/new-page/;
}
总结

absolute_redirect 是一个用于控制 NGINX 重定向返回的 URL 类型的指令。通过设置该指令的值,可以使返回的 URL 为相对路径或绝对路径。在实际使用中,需要根据项目需求和环境来灵活配置。