我有Linux主机,我只想通过指定的URL获取文件,因为这些文件仅用于注册用户。但是当我访问它的目录URL时,所有文件都显示出来了。获取目录内容,但不显示目录
例子:www.site.com/files(这应该重定向到主页)
例子:www.site.com/files/filename.zip(这应该是能够下载文件)
我也尝试了一个.htaccess modrewite但文件目录它也没有显示该文件。
任何想法,如何解决这个问题。
我有Linux主机,我只想通过指定的URL获取文件,因为这些文件仅用于注册用户。但是当我访问它的目录URL时,所有文件都显示出来了。获取目录内容,但不显示目录
例子:www.site.com/files(这应该重定向到主页)
例子:www.site.com/files/filename.zip(这应该是能够下载文件)
我也尝试了一个.htaccess modrewite但文件目录它也没有显示该文件。
任何想法,如何解决这个问题。
尽管如此,仍然是一种蹩脚的解决方法;你可以在目录中包含一个空的index
文件。
而且你可以在你的.htaccess
或httpd.conf
文件中加入这一行:
将目录权限更改为711.您会说:chmod 711 files
其中files
是包含文件的目录。您还可以在目录files
中添加一个名为index.html
的文件,当有人试图访问www.site.com/files
时,该文件将默认显示。
好的谢谢你,我试试 – 2013-05-12 22:25:38
索引:
重写:
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/[R]
只要把index.php
在只是包含:
<?php
header('Location: http://'.$_SERVER['HTTP_HOST'].'/');
die;
并沟.htaccess
。
要关闭Apache的自动生成的目录列表,添加
Options -Indexes
到.htaccess
。有关Options
的更多信息,请参阅documentation。请参阅Apache的mod_autoindex
module的文档以自定义索引页面的显示。
谢谢@ andreqdotn – 2013-05-12 22:42:54
只是用的东西的download.php这样的更换直接downloadlink:
<?php
$downloadfile = "files/filename.zip";
$filename = "filename.zip";
$filesize = filesize($downloadfile);
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename='$filename'");
header("Content-Length: $filesize");
readfile($downloadfile);
exit;
?>
你可以看到我们发送的文件头和的。邮件头中的zip文件。它将下载文件而不打开文件夹视图。
希望它能帮助你。
哦!我真的是一个白痴,我没有想过这个。他他:D – 2013-05-12 22:33:00