Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 使用htaccess在标题内设置文件名_Apache_.htaccess_Ubuntu_Server Configuration - Fatal编程技术网

Apache 使用htaccess在标题内设置文件名

Apache 使用htaccess在标题内设置文件名,apache,.htaccess,ubuntu,server-configuration,Apache,.htaccess,Ubuntu,Server Configuration,我们有一个从服务器下载文件的应用程序。在下载它们之后,它需要保存它,因为它使用从response头提交的filename参数 当我使用standart PHPdownload.PHP?id=downloaddid时,我可以毫无问题地设置标题 现在的任务是,在客户机服务器上,他们没有任何可用的php, 我需要在Response头中设置文件名 以下是我所拥有的htaccess: <FilesMatch "\.(?i:pdf)$"> Header set Content-Type:

我们有一个从服务器下载文件的应用程序。在下载它们之后,它需要保存它,因为它使用从response头提交的filename参数

当我使用standart PHP
download.PHP?id=downloaddid
时,我可以毫无问题地设置标题

现在的任务是,在客户机服务器上,他们没有任何可用的php, 我需要在Response头中设置文件名

以下是我所拥有的htaccess:

<FilesMatch "\.(?i:pdf)$">
    Header set Content-Type: application/octet-stream
    Header set Content-Disposition: "attachment; filename=FILE_NAME.pdf"
</FilesMatch>

标题集内容类型:应用程序/八位字节流
标题集内容处置:“附件;文件名=文件名.pdf”
我不知道如何使用htaccess将文件名dynamicali打包到头文件中。 我已经在谷歌上搜索过了,但仍然没有解决方案


有什么建议吗

我不知道它是否有效,但这将是我的第一次尝试

RewriteRule [^/]+\.pdf$ - [E=FILENAME:$0]
<FilesMatch "\.(?i:pdf)$">
    Header set Content-Type application/octet-stream
    Header set Content-Disposition "attachment; filename=%{FILENAME}e" 
</FilesMatch>
上面的代码不是现成的。在我的情况下,我需要另一个内部重定向


但是,如果请求URL也包含文件名,为什么需要在标题中设置文件名呢?所有浏览器都会将文件保存在URL中的名称下。因此,转到
/path/test.pdf
将导致浏览器使用
filename=FILE\u NAME.pdf
建议文件名
test.pdf

,实际结果是
FILE\u NAME.pdf
filename=%{filename}e
结果是
null
我知道,当您直接用文件名调用服务器时,它将得到一个名称。。。当你的项目中有一个逃跑的自由职业者时,你需要做项目的一些部分。关于代码,不知何故,我无法管理它工作(因为我不理解你说它为你工作)。
RewriteRule [^/]+\.pdf$ - [E=FILENAME:$0]
Header set Content-Type application/octet-stream env=REDIRECT_FILENAME
Header set Content-Disposition "attachment; filename=%{REDIRECT_FILENAME}e" env=REDIRECT_FILENAME