说明:
location 中的 root 和 alias
location 中的 proxy_pass 的 uri
如果 proxy_pass 的 url 不带 uri
如果proxy_pass的url带uri,则会截断匹配的uri
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 测试结果如下
备注: 浏览器输入的时候最后面不添加 / , 会自动补上,但是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 测试结果如下
curl 'http://tapi.kaishustory.com/lctest5/' curl 'http://tapi.kaishustory.com/lctest6/' curl 'http://tapi.kaishustory.com/lctest7/' 结果都是 /data/web/index.html的输出 root@pts/1 $ curl 'http://tapi.kaishustory.com/lctest8/' <html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html>
location proxy_pass
#--------proxy_pass配置--------------------- 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; } #正常,截断
测试脚本
for i in $(seq 8) do url=http://tapi.xxxx.com/t$i/doc/index.html echo "-----------$url-----------" curl url done
测试结果
----------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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍php实现图片按比例截取的方法,包括了php实现图片按比例截取的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现图片按比例截取的方法。分享给大家供大家参考,具体如下: PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用: 在线图片转换BASE64工具: http://tools.jb51.net/transcoding/img2base64 ICO图
本文向大家介绍C#实现中英文混合字符串截取的方法,包括了C#实现中英文混合字符串截取的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现中英文混合字符串截取的方法,是C#字符串操作中非常常用的一个方法。分享给大家供大家参考之用。具体方法如下: 具体功能代码如下: 希望本文所述方法对大家C#程序设计有所帮助。
本文向大家介绍PHP实现截取中文字符串不出现?号的解决方法,包括了PHP实现截取中文字符串不出现?号的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现截取中文字符串不出现?号的解决方法。分享给大家供大家参考,具体如下: 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 输出为结果为: 于是写了以下这段代码,判断如果中英文混合字符串中的
本文向大家介绍PHP中实现中文字串截取无乱码的解决方法,包括了PHP中实现中文字串截取无乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节,英文为1个字节,而在UTF-8编码当中,一个中文可能占有
本文向大家介绍Android来电拦截的实现方法,包括了Android来电拦截的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android来电拦截的方法,供大家参考,具体内容如下 权限 拨号广播—PhoneStateReceiver 来电挂断 BlockCallHelper 看主界面MainActivity 最后看AIdl层面 ITelephony.aidl Neighbo
本文向大家介绍Joomla框架实现字符串截取的方法示例,包括了Joomla框架实现字符串截取的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Joomla框架实现字符串截取的方法。分享给大家供大家参考,具体如下: 在用joomla进行开发的时候,需要用到国外的资源,一些module,组件,插件之类的,但是我们会发现,在字符串这个方法都需要进行修改。因为PHP的substr方法只是针