這篇文章主要介紹“nginx location中uri的截取如何實(shí)現(xiàn)”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“nginx location中uri的截取如何實(shí)現(xiàn)”文章能幫助大家解決問題。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了那坡免費(fèi)建站歡迎大家使用!
說明:
location 中的 root 和 alias
root 指令只是將搜索的根設(shè)置為 root 設(shè)定的目錄,即不會截?cái)?uri,而是使用原始 uri 跳轉(zhuǎn)該目錄下查找文件
aias 指令則會截?cái)嗥ヅ涞?uri,然后使用 alias 設(shè)定的路徑加上剩余的 uri 作為子路徑進(jìn)行查找
location 中的 proxy_pass 的 uri
如果 proxy_pass 的 url 不帶 uri
如果尾部是"/",則會截?cái)嗥ヅ涞膗ri
如果尾部不是"/",則不會截?cái)嗥ヅ涞膗ri
如果proxy_pass的url帶uri,則會截?cái)嗥ヅ涞膗ri
examples
location中的 root
root@pts/1 $ ls -ld /data/web/lctest*|awk '{print $nf}' /data/web/lctest /data/web/lctest2 /data/web/lctest3 /data/web/lctest4 location /lctest { root /data/web/; } location /lctest2/ { root /data/web/; } location /lctest3 { root /data/web; } location /lctest4/ { root /data/web; }
curl 測試結(jié)果如下
備注: 瀏覽器輸入的時(shí)候最后面不添加 / , 會自動補(bǔ)上,但是curl 不行
root@pts/1 $ curl http://tapi.xxxx.com/lctest/ hello world root@pts/1 $ curl http://tapi.xxxx.com/lctest2/ hello world 2 root@pts/1 $ curl http://tapi.xxxx.com/lctest3/ 3 hello world root@pts/1 $ curl http://tapi.xxxx.com/lctest4/ hello world 4
location alias
location /lctest5 { alias /data/web/; } location /lctest6/ { alias /data/web/; } location /lctest7 { alias /data/web; } ## 403 /data/web forbidden location /lctest8/ { alias /data/web; }
curl 測試結(jié)果如下
curl 'http://tapi.kaishustory.com/lctest5/' curl 'http://tapi.kaishustory.com/lctest6/' curl 'http://tapi.kaishustory.com/lctest7/' 結(jié)果都是 /data/web/index.html的輸出 root@pts/1 $ curl 'http://tapi.kaishustory.com/lctest8/'403 forbidden 403 forbidden
nginx
location proxy_pass
#--------proxy_pass配置--------------------- location /t1/ { proxy_pass http://servers; } #正常,不截?cái)? location /t2/ { proxy_pass http://servers/; } #正常,截?cái)? location /t3 { proxy_pass http://servers; } #正常,不截?cái)? location /t4 { proxy_pass http://servers/; } #正常,截?cái)? location /t5/ { proxy_pass http://servers/test/; } #正常,截?cái)? location /t6/ { proxy_pass http://servers/test; } #缺"/",截?cái)? location /t7 { proxy_pass http://servers/test/; } #含"http://",截?cái)? location /t8 { proxy_pass http://servers/test; } #正常,截?cái)?/pre>測試腳本
for i in $(seq 8) do url=http://tapi.xxxx.com/t$i/doc/index.html echo "-----------$url-----------" curl url done測試結(jié)果
----------http://tapi.xxxx.com/t1/doc/index.html------------ /t1/doc/index.html ----------http://tapi.xxxx.com/t2/doc/index.html------------ /doc/index.html ----------http://tapi.xxxx.com/t3/doc/index.html------------ /t3/doc/index.html ----------http://tapi.xxxx.com/t4/doc/index.html------------ /doc/index.html ----------http://tapi.xxxx.com/t5/doc/index.html------------ /test/doc/index.html ----------http://tapi.xxxx.com/t6/doc/index.html------------ /testdoc/index.html ----------http://tapi.xxxx.com/t7/doc/index.html------------ /test//doc/index.html ----------http://tapi.xxxx.com/t8/doc/index.html------------ /test/doc/index.html關(guān)于“nginx location中uri的截取如何實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。
標(biāo)題名稱:nginxlocation中uri的截取如何實(shí)現(xiàn)
鏈接URL:http://weahome.cn/article/jhcjdj.html