无法访问名称中包含 URL 编码字符的静态文件
Can't access static files with a URL-encoding characters in the names
在我的 CDN 上,我有一些旧文件,其名称是使用 rawurlencode 函数创建的。例如。其中一个文件具有此名称:
猫%20presentation.pdf
现在,当我尝试读取此文件时,出现 "File not found" 错误:
GET cdn.example.com/documents/Cat%20presentation.pdf
我认为这是因为名称中编码的 space 字符 - %20
。对于浏览器(和 CDN),我要求的是:
猫presentation.pdf
而“%20”部分实际上在文件名中。
有什么方法可以解决这个问题并访问该文件吗?
您需要URL-encode将“%”字符转换为“%25”:
GET cdn.example.com/documents/Cat%2520presentation.pdf
但如果我是你,我只会修改他们的文件名。
在我的 CDN 上,我有一些旧文件,其名称是使用 rawurlencode 函数创建的。例如。其中一个文件具有此名称:
猫%20presentation.pdf
现在,当我尝试读取此文件时,出现 "File not found" 错误:
GET cdn.example.com/documents/Cat%20presentation.pdf
我认为这是因为名称中编码的 space 字符 - %20
。对于浏览器(和 CDN),我要求的是:
猫presentation.pdf
而“%20”部分实际上在文件名中。
有什么方法可以解决这个问题并访问该文件吗?
您需要URL-encode将“%”字符转换为“%25”:
GET cdn.example.com/documents/Cat%2520presentation.pdf
但如果我是你,我只会修改他们的文件名。