浏览 Apache Web 服务器上的 zip 文件

Posted

技术标签:

【中文标题】浏览 Apache Web 服务器上的 zip 文件【英文标题】:Browse zipfiles on apache webserver 【发布时间】:2014-04-09 23:08:35 【问题描述】:

我已经有一个名为 viewzip.cgi 的 awk 脚本,它的工作原理如下:

...viewzip.cgi/path_to_zipfile/zipfile.zip/

将显示该文件的根目录,

...viewzip.cgi/path_to_zipfile/zipfile.zip/subdir/

显示子目录(如果存在)

...viewzip.cgi/path_to_zipfile/zipfile.zip/path_to_file/file

将下载一个特定的文件。

现在我想要的是省略 URL 中的“viewzip.cgi”部分,自动重定向如下:

...path_to_zipfile/zipfile.zip

应该下载 zipfile,因为它是标准行为,但是

...path_to_zipfile/zipfile.zip/

尾部斜杠应该重定向到第一个示例中的路径,并且在附加尾部子目录或文件时也是如此。

如果可以,我该怎么做?我可以访问文件系统(即“.htaccess”),但不能访问 apache 的根配置文件。还是有(可能是众所周知的)更好的解决方案?类似的问题也适用于 .chm 文件,当根据请求在服务器上解压缩时,这些文件更易于浏览。如果我不需要为我拥有的每个 zipfile 重复重定向行,那就太好了。

赫尼

【问题讨论】:

描述您的要求并要求某人为您编写代码或解释如何编写代码的问题对于 Stack Overflow 来说是题外话。请确定有关编程的特定问题或问题。包括尝试的解决方案、结果与预期结果有何不同的解释,以及您收到的任何错误消息。请阅读About 页面和this advice on asking good questions。 【参考方案1】:

RedirectMatch 关键字完成了这项工作。

RedirectMatch .../((?!viewzip\.cgi/).*)\.zip/(.*) http://www.../.../viewzip.cgi/$1.zip/$2

【讨论】:

以上是关于浏览 Apache Web 服务器上的 zip 文件的主要内容,如果未能解决你的问题,请参考以下文章

Grails 3 Web界面,通过表单将zip上传到服务器上的文件夹

无法从网络浏览器访问phpmyadmin

PHP中的压缩流

PHP中的压缩流

从 Web 服务器上的文本文件中读取文本 [重复]

禁用 httpd.conf 中的目录浏览与 apache 上的 .htaccess