很长一段时间我都在头疼一个问题,做好的网站上传到阿里云的弹性Web托管服务器上后,一旦涉及到有中文路径的页面就无法正常访问,就像下面这样
通过错误信息就可以看出来,html文件名乱码了。最开始的时候,我一直以为只是在提示信息中显示的乱码,源文件是不乱码的,因为我通过FTP工具看到的源文件名称就是正常显示的,当初用的 MobaXterm 工具,直到今天看过一篇文章说
ftp协议一般都是通过 GBK 编码作为路径编码传输文件的,故而要正确访问 ext2、ext3 经过 ftp 传输的中文路径文件,必须使用 GBK才 能正确访问到
然后就想着是否是网站文件在通过 FTP 工具上传过程中被转码了,于是果断换了一个 FTP 工具(FileZilla),当我用 FileZilla 打开网站目录后惊呆了,之前上传的中文文件名称全部乱码,惊呆之外,反而有点小激动,如果这样的话,用 FileZilla 上传后得到正确的文件显示,应该就可以解决之前遇到的问题。
经测试,果不其然,FileZilla 上传的含有中文路径的网站终于可以正常访问了,纠结了很长时间的问题竟然这么出乎意外的被解决了。
话说阿里云的弹性Web托管服务器后台管理就推荐的使用 FileZilla 来进行网站的上传,而我之前使用 MobaXterm 完全是因为最初当缩 SSH 工具来使用,但它又同时支持 FTP 功能,于是偷了点懒,导致出现了这个困扰很长时间的问题。
原来如此