Apache2 PHP - 如何使用 .htaccess 重写直接下载链接

Apache2 PHP - How do I use .htaccess to rewrite direct download links

我有一个文件目录,用户包管理器使用直接 link 下载文件。 我正在尝试设置文件日志记录,以便我可以获得有关下载的统计信息。我正在使用我在 GitHub 上找到的这个脚本:https://github.com/iNamik/PHP-Download-Tracker

是否可以在 Apache 中使用类似 mod_rewrite 的东西,在直接 link?

中的文件名前添加 download.php?file=

示例:

  1. 直接访问 link: https://exampledomain.com/files/file.pdf --> 这不会被记录。文件传输开始。

  2. 让它自动重写为:https://exampldomain.com/files/download.php?file=file.pdf --> 这会被记录下来。文件传输开始

这会将任何不存在的内容重定向到 index.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php [L]

在使用 htaccess 测试仪进行一些拉毛和测试之后,这就是我想出的。

我的 download.php 在文件目录中。

RewriteEngine On
RewriteBase /files/
RewriteRule ^(.+(file|FILE))$ download.php?file= [L]