1.关于url转码
对于url地址,我们经常会使用URLEncoder或encodeURI等方式将url来转码,目的是防止访问和存储的问题。
2.ngnix自动转码的问题
在ngnix转发时,ngnix会自动对url解码和转码,那这样会有什么问题?
假如有个文件:a?b.html
因为有特殊符号?,文件名不能有问号,所以需要url转码后存储
a?b.html 转码后a%3Fb.html
磁盘存储的文件名是转码后的a%3Fb.html。
那么问题来了 访问这个文件 用什么链接?
http://bcxw.net/a?b.html 会请求服务器文件a
http://bcxw.net/a%3Fb.html 会请求服务器a?b.html
可是我存的是a%3Fb.html,所以是访问不到这个文件的。
除非对a%3Fb.html再转码进行访问,才能访问到 a%3Fb.html。
那么ngnix如何禁止自动转码?让我访问的链接和我存储的文件名是一致的。