nginx中斜杠(/)詳解

不知大傢日常在nginx配置時,是不是會對是否加斜杠充滿疑惑?

配置location、proxy_pass時,加“/”與不加“/”的區別,今天我們通過實操去驗證下。

通過nginx代理訪問地址:http://127.0.0.1/v1/pt/apply/page

location、proxy_pass都不加斜杠

location /v1 {
    proxy_pass http://127.0.0.1:8899;
}

實際訪問代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass不加斜杠

location /v1/ {
    proxy_pass http://127.0.0.1:8899;
}

實際訪問代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location不加斜杠,proxy_pass加斜杠

location /v1 {      
    proxy_pass http://127.0.0.1:8899/;
}

實際訪問代理地址:http://127.0.0.1:8899//pt/apply/page

location、proxy_pass都加斜杠

location /v1/ {
    proxy_pass http://127.0.0.1:8899/;
}

實際訪問代理地址:http://127.0.0.1:8899/pt/apply/page

location不加斜杠,proxy_pass加"v1"

location /v1 {
    proxy_pass http://127.0.0.1:8899/v1;
}

實際訪問代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass加"v1"

location /v1/ {
    proxy_pass http://127.0.0.1:8899/v1;
}

實際訪問代理地址:http://127.0.0.1:8899/v1pt/apply/page

location不加斜杠,proxy_pass加"v1/"

location /v1 {
    proxy_pass http://127.0.0.1:8899/v1/;
}

實際訪問代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass加"v1/"

location /v1/ {
    proxy_pass http://127.0.0.1:8899/v1/;
}

實際訪問代理地址:http://127.0.0.1:8899/v1/pt/apply/page

總結:

proxy_pass代理地址端口後無任何字符,轉發後地址:代理地址+訪問URL目錄部分
proxy_pass代理地址端口後有目錄(包括 / ),轉發後地址:代理地址+訪問URL目錄部分去除location匹配目錄(示例中的"v1"或"v1/")

到此這篇關於nginx中斜杠(/)詳解的文章就介紹到這瞭,更多相關nginx中斜杠(/)詳解內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: