+
80
-

nginx如何实现显性和隐性URL转发?

nginx如何实现显性和隐性URL转发?


网友回复

+
0
-

显性url转发,就是浏览器地址栏中可以看到转发后的新地址

将所有请求重定向到 https://example.com:

server {
listen 80;
server_name example.org;

location / {
return 302 https://example.com;
}
}
将所有请求的 URL 前缀 /old 重写为 /new,并返回 302 重定向:
server {
listen 80;
server_name example.org;

location / {
rewrite ^/old/(.*)$ /new/$1 permanent;
}
}

将请求 /old/page.html 重定向到 /new/page.html,并返回 302 重定向:
server {
listen 80;
server_name example.org;

location /old/page.html {
return 302 /new/page.html;
}
}

隐性url转发,浏览器地址栏看到的还是旧的地址,但是内容是新地址网页的内容

server {
       listen 80;
       server_name example1.com;
       index   index.html index.php index.htm;
       
       location / {
                proxy_next_upstream error timeout http_503 http_504 http_502;
                proxy_connect_timeout 500s;
                proxy_read_timeout 500s;
                proxy_send_timeout 500s;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               
                proxy_pass http://ip地址或域名:8089;  #跳转
       }
}

我知道答案,我要回答