我可以设置Apache Web服务器提供的PDF文件的“HTML”标题吗

q9yhzks0  于 2022-11-16  发布在  Apache
关注(0)|答案(3)|浏览(161)

我有一些HTML页面,其中包含指向PDF文件的href标记。我的Apache Web服务器可以很好地为它们提供服务,但是浏览器历史记录中显示的标题是文件名。我希望能够设置该标题。
也许有一个标题比可以设置?
我不想写一个脚本来提供文件,因为服务器可以处理内容编码协商(例如,对于gzip),并进行流控制,这些我都不想重新创建。

6l7fqoea

6l7fqoea1#

下面是一个可以设置的http头。

Content-Disposition:inline; filename="*File name you want*";
f3temu5u

f3temu5u2#

我怀疑您遇到的问题是客户端浏览器将文件名存储在历史记录中,而您无法修复此问题。
上次我检查的时候,历史记录中的标题来自HTML页面的设置(不是标题),所以应该没有标题的HTTP标题字段。
我不是HTTPMaven,不知道所有的字段,但我不记得在任何服务器中有一个设置,我曾经与设置页面的标题(只是状态代码,协议等)。

yvt65v4c

yvt65v4c3#

我创建了一个PHP脚本(例如download.php,文件名无关紧要),如下所示:

<?php
header("Content-Type: application/pdf");
header('Content-Disposition: inline; filename="'.addslashes($_REQUEST['title']).'"'); //filename doesn't set the browser title here, only when page is saved/downloaded
$content = file_get_contents($_REQUEST['filename']);
header('Content-Length: '.strlen($content));
echo $content;

在我的设置(Windows 10;Apache2.4.37; PHP 7.1.25),您现在可以执行如下请求:下载下载
我在Chrome和Firefox中成功地测试了这一点。Internet Explorer无法显示PDF文档内联:-/。Microsoft Edge还在标题栏中包含了URL参数:-(。

相关问题