你可以通过 Apache 下载文件吗?

问题描述 投票:0回答:3

路径=

/var/lib/foo.txt

是否可以配置 Apache,以便有一些 HTTP URL 可以启动该文件的下载以及如何配置? 没有

.htaccess
文件。

那么那个 URL 会是什么?

localhost/var/lib/foo.txt

apache
3个回答
4
投票

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

AddType application/octet-stream .txt

仅此而已。

编辑:

没有 .htaccess 文件,您可以使用 PHP 代码。

这是一个例子: 在

public_html
www
文件夹中创建文件并将其命名为
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);
}

2
投票

就像在 apache 配置中添加别名指令一样简单。

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

然后您可以通过类似

http://example.com/bar
的方式公开访问资源。


0
投票

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

<Files *.txt>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>
© www.soinside.com 2019 - 2024. All rights reserved.