使用标题(' location')重定向到PDF文件不起作用

时间:2017-11-06 15:18:29

标签: php google-chrome pdf header location

我在PHP header('Location: '.$long_url); exit(); 函数中遇到了一个奇怪的问题。 我有一个网站缩短网站,我为个人用途而建,与任何其他服务(bit.ly,goo.gl)一样。它工作得很好,但我永远不能用PDF文件。

例如,使用此Example PDF file,我使用bit.ly来缩短它:http:// bit.ly / 29l4ueo(删除空格)

如您所见,无法访问该文件。看起来链接有问题,但为什么会这样呢?

我的网站也是如此。我使用以下行进行重定向:

color.a = 1.0 / distance

它就像bit.ly一样 - 你无法打开URL。你可以测试它here如果我点击它就有效,但如果我手动将其键入地址栏,它就不起作用。

我可以包含任何特殊标题,或者我可以对我的代码进行任何更改,以使其适用于任何链接,包括PDF文件?

谢谢!

编辑似乎是Chrome的特定问题。如果你使用Firefox,Edge或Opera,它不会发生。

1 个答案:

答案 0 :(得分:0)

你走了:

header("Content-type:application/pdf");
// I used the first PDF I could find on the internet for the demo
readfile("https://www.rankya.com/assets/advancedSearchOperators.pdf");

要使用readfile,您需要确保allow_url_fopen已启用。

另一个选项是刷新,在重定向之前显示一条消息:

header("refresh:3;url=https://www.rankya.com/assets/advancedSearchOperators.pdf"); 
echo 'You\'ll be redirected in about 3 secs. If not, click <a href="https://www.rankya.com/assets/advancedSearchOperators.pdf">here</a>.'; 

出口;