将试图下载.zip文件的用户重定向到download.php?file= IIS中的fileName


Redirect a user trying to download a .zip file to download.php?file=fileName in IIS

我需要阻止人们在我的服务器上下载.zip文件,除非他们登录。出于这个目的,因为我也在使用MediaWiki,我想要修改最少的这个,因为我不熟悉它,我正在考虑做以下事情:

当用户想要下载一个.zip文件时,它将被服务器(用web.config规则)重定向到download.php?file=fileName和PHP内部的东西,我可以做我的编程,看看他是否登录,然后使用readFile()给他的文件。

然而,我不熟悉IIS(也不太熟悉Apache),我完全不知道如何编写这个规则。有人能帮我一下吗?

我也愿意接受其他建议。把上传文件夹放在一个公众(但服务器)无法访问的地方可能会奏效,但图像也会被上传,然后它们就不会下载了。我也可以自己修改上传系统的行为,但因为这是MediaWiki做的,所以我不希望这样做。

我已经找到了这个代码(通过使用.htaccessweb.config在线翻译),但它不工作。也许修改这段代码对您来说更容易:

http://pastebin.com/waMJnFyK

上传文件位于/images目录下的子目录中例如/images/a/ae/file。zip我希望当你试图打开它时你会被重定向到一个php文件作为get输入,我有文件位置

我采取的解决方案:http://pastebin.com/7skGT9uN

它将/images中以.zip结尾的所有内容重定向到download.php?