I 301-重定向链接以跟踪点击。
http://myurl.tld/redirect.php?target=http%3A%2F%2Ftarget.tld%2Ffile.pdf
我在
redirect.php
上跟踪调用量和其他一些统计数据.它运行良好,除非我重定向到 Internet Explorer 中的 pdf 文件(我测试了 v11,可能会影响其他版本)。在这种情况下,
redirect.php
跟踪同一用户在几秒钟内的数十次点击。使用 fiddler ,我发现 pdf 以块的形式返回(HTTP 状态代码
206 Partial Content
),这意味着发出了多个请求而不是单个请求。通常,您希望浏览器对
http://target.tld/file.pdf
进行后续调用。当target.tld
以块的形式提供 pdf,这正是大多数浏览器所做的。但是,Internet Explorer 决定请求
http://myurl.tld/redirect.php?target=http%3A%2F%2Ftarget.tld%2Ffile.pdf
一次又一次,而不是请求目标站点。现在我的问题:
我怎样才能告诉 IE 不要打电话
myurl.tld
而是 target.tld
? 我可以操作 301 重定向中的 header ,以便 IE 知道从
target.tld
请求文件吗? ?
最佳答案
看起来这可能是 IE 9 中(感知到的)错误的错误修复/解决方法 - 这显然在记住 301 重定向方面过于激进。 https://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/possible-bug-in-ie-with-http-code-301-permanent/33cd03f0-8c82-e011-9b4b-68b599b31bf5
尝试对 IE 11 使用 HTTP 308 而不是 301,看看这是否对您的问题有帮助。
关于internet-explorer - 在 Internet Explorer 11 中重定向到 PDF 会导致多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29967144/