你能通过Apache下载一个文件吗?

ffscu2ro  于 2023-10-23  发布在  Apache
关注(0)|答案(3)|浏览(148)

路径= /var/lib/foo.txt
是否可以配置Apache,以便有一些HTTP URL可以启动此文件的下载,以及如何配置?.htaccess文件。
那么这个URL是什么呢?localhost/var/lib/foo.txt

fnvucqvd

fnvucqvd1#

是在/var/lib/(/var/lib/.htaccess)中创建一个.htaccess文件,并添加以下内容:

AddType application/octet-stream .txt

仅此而已

编辑:

如果没有.htaccess文件,您可以使用PHP代码。
下面是一个示例:在public_htmlwww文件夹中创建一个文件并命名为download.php粘贴下面的PHP代码并保存文件。访问http://www.yoursite.com/download.php该文件应该下载没有任何问题。

$fileName = 'my-foo-file.txt';
$filePath = '/var/lib/foo.txt';
if(!$filePath){
    die('File not found!');
} else {
    header("Cache-Control: public");
    header("Content-Disposition: attachment; filename=$fileName");
    header("Content-Type: application/octet-stream");
    header("Content-Transfer-Encoding: binary");
    readfile($filePath);
}
qpgpyjmq

qpgpyjmq2#

这就像在你的apache配置中添加一个alias指令一样简单。

Alias '/bar' '/path/to/foo'

然后,您可以通过类似http://example.com/bar的方式公开访问资源。

bqjvbblv

bqjvbblv3#

将此添加到您的.htaccess文件...您可以为不同的文件类型添加不同的指令,如.txt,.pdf,.mp4等。

<Files *.txt>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>

相关问题