![](/img/trans.png)
[英]How do I use the AllowOverride directive to permit .htaccess files to override php_value (Apache2)
[英]Apache2 PHP - How do I use .htaccess to rewrite direct download links
我有一个文件目录,由用户包管理器使用文件的直接链接下载。 我正在尝试设置文件日志记录,以便获取有关下载的统计信息。 我正在使用我在 GitHub 上找到的这个脚本: https : //github.com/iNamik/PHP-Download-Tracker
我正在使用上面的脚本,它由一个文件目录、一个日志目录和一个列出要下载的文件的 index.php 组成。
Index.php 列出了下载目录中的所有文件。 这个文件可以重命名为任何东西,即download.php
如果我使用 index.php 并单击我想下载的文件,它会记录信息并下载它。
如果我使用文件 (/downloadfolder/file.exe) 的直接链接,则绕过 index.php 并且不会记录任何内容。
是否可以在 Apache 中使用类似 mod_rewrite 的东西,在直接链接中的文件名之前添加 download.php?file= ?
例子:
访问此直接链接: https : //exampledomain.com/files/file.pdf --> 这不会被记录。 文件传输开始。
让它自动重写为: 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 位于 files 目录中。
RewriteEngine On
RewriteBase /files/
RewriteRule ^(.+(deb|DEB))$ download.php?file=$1 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.