你能通过Apache下载文件吗?

时间:2017-08-18 14:10:06

标签: apache

路径= /var/lib/foo.txt

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

然后那个URL是什么? localhost/var/lib/foo.txt

3 个答案:

答案 0 :(得分:1)

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

AddType application/octect-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/octect-stream");
    header("Content-Transfer-Encoding: binary");
    readfile($filePath);
}

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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