我找到了出色的重写规则和一个 PHP 脚本,可用于Apache
计算某些文件类型的下载次数。我需要将其转换为NGINX
友好形式。Apache
重写规则如下:
RewriteEngine on
RewriteRule ^(.*).(rar|zip|pdf)$ http://xy.com/downloads/download.php?file=$1.$2 [R,L]
下载脚本是这里。
我正在尝试做同样的事情NGINX
:
当下载任何 pdf 文件时,脚本必须拦截下载,以便我可以跟踪它。我想跟踪两件事,下载的次数和下载的 IP 地址。
我最接近的答案是这样的:
location / {
rewrite ^(.*).(rar|zip|pdf)$ /track-downloads.php?file=$1 break;
}
但该规则不起作用,它没有被调用。还请注意标签location
。
我在 NGINX 的博客上找到了一些关于重写规则转换的其他技巧,这里,但这些转换是相当简单的主流转换。
我已经在 Google 上搜索了好久了。在 Google 上搜索“下载 PDF 文件时执行自定义 php 脚本 nginx”等短语时,问题在于返回的结果太多,都与 PHP 无法正常工作以及想要下载而不是提供文件有关。
任何帮助或指导都将不胜感激。顺便提一下,两个 NGINX 环境是 Laravel Valet 和 Virtualmin 控制面板。