nginx location中uri的截取的实现方法

位置中的根和别号

root 指令只是将搜索的根设置装备摆设为 root 设定的目录,即没有会截断 uri,而是运用原始 uri 跳转该目录下查找文献aias 指令则会截断婚配的 uri,然后运用 alias 设定的路子加之残剩的 uri 动做子路子停行查找

位置中proxy_pass的Uri

若是proxy_pass的url没有uri

假设尾部是"/",则会截断婚配的uri假设尾部没有是"/",则没有会截断婚配的uri

若是proxy_pass的url有uri,则婚姻uri将被截断。

示例

根在位置

一个

2

10

11

12

13

14

15

16

17

18

19

20

root @ pts/1 $ ls-LD/data/web/LC test * | awk“{ print $ NF }”

/data/web/lctest

/data/web/lctest2

/data/web/lctest3

/data/web/lctest4

位置/lctest {

root/data/web/;​​

​​}​​

位置/lctest2/ {

root/data/web/;​​

​​}​​

位置/lctest3 {

根/数据/web;​​

​​}​​

位置/lctest4/ {

根/数据/web;​​

​​}​​

卷曲测试的成果如下

留意:阅读器输出的时分一起头不加/,会主动补,不允许卷曲。

一个

2

10

11

12

13

14

root @ pts/1 $ curl http://tapi . xxxx . com/LC test/

你好世界

root @ pts/1 $ curl http://tapi . xxxx . com/LC test 2/

你好世界

​​2​​

root @ pts/1 $ curl http://tapi . xxxx . com/lctest 3/

你好世界

root @ pts/1 $ curl http://tapi . xxxx . com/LC test 4/

你好世界

位置别号

一个

2

10

11

12

13

14

15

位置/lctest5 {

alias/data/web/;​​

​​}​​

位置/lctest6/ {

alias/data/web/;​​

​​}​​

位置/lctest7 {

别号/数据/web;​​

​​}​​

# # 403/制止数据/网页

位置/lctest8/ {

别号/数据/web;​​

​​}​​

卷曲测试的成果如下

一个

2

10

11

12

13

卷曲' http://tapi.kaishustory.com/lctest5/ '

卷曲' http://tapi.kaishustory.com/lctest6/ '

卷曲' http://tapi.kaishustory.com/lctest7/ '

成果是/data/web/index.html的输入。

root @ pts/1 $ curl ' http://tapi.kaishustory.com/lctest8/ '

& lthead & gt403制止& lt/title & gt;& lt/head & gt;​​

"白色" >;​​​

403制止& lt​​

/h1 & gt;& lt/center & gt;​​

nginx & lt​​

/center & gt;​​

& lt/body & gt;​​

& lt/html & gt;​​

location proxy_pass

一个

2

# -

location/t1/{ proxy _ pass http://servers;} #一般情况下,不截断

location/T2/{ proxy _ pass http://servers/;} #常规,截断

location/T3 { proxy _ pass http://servers;} #一般情况下,不截断

location/T4 { proxy _ pass http://servers/;} #常规,截断

location/t5/{ proxy _ pass http://servers/test/;} #常规,截断

location/T6/{ proxy _ pass http://servers/test;} #贫乏"/",被截断

location/T7 { proxy _ pass http://servers/test/;} #包罗“//”,被截断

location/t8 { proxy _ pass http://servers/test;} #常规,截断

测试脚本

一个

2

关于以美圆暗示的I(序列8)

URL = http://tapi . xxxx . com/t $ I/doc/index。html

回显“- $url -”

卷曲url

完成了

测试成果

一个

2

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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

/测试//doc/index.html

http://tapi.xxxx.com/t8/doc/index.html

/test/doc/index.html

您可以还会对下面的文章感兴趣:

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。