【发布时间】:2013-08-19 20:15:03
【问题描述】:
我目前正在开发一个由以前的开发人员构建的网站。
该网站之前已向订阅者发送了链接,其中 url 文件名中有空格,例如 http://website.com/docs/this is a pdf.pdf。我现在已经修复了这些链接,因为它们是在生成链接时使用 php url 编码生成的,因为特别是 Internet Explorer 用户没有在 linux 服务器上找到该文件,因为文件名中有空格(chrome 和 FF 通过正确插入%20 到 url 中的空格中)。
我目前正在尝试找到一种方法来使用 .htaccess 重写这些包含空格的 url 以重定向到正确的 url。例如,如果用户请求http://website.com/docs/this is a pdf.pdf,.htaccess 将重定向到http://website.com/docs/this%20is%20a%20pdf.pdf。请注意,此服务器上有数千个文档,因此它确实需要是动态的。
我尝试了什么?
我查看了 this 和 this 等等,但无法添加更多链接,因为 SO 说我没有足够的声誉。
这些选项似乎表明,如果您事先知道文件名是什么,这是可能的。我需要这是动态的。有人有什么想法吗?
【问题讨论】:
-
究竟是哪个IE版本有这个问题?有问题的请求到底是什么样的?如果 IE 不会使用正确编码的 URI 发送请求,那么浏览器可能会寻找像
/docs/this这样的片段。 -
你在哪个版本的IE上测试过?