PAD规范(http://pad.asp-software.org/spec/spec.php)定义下载URL,如下所示: URL ftp或http:// + 2-120个字符,扩展名为exe,zip或其他 使用的正则表达式是:
^((http|ftp):\/\/.{2,120}\.(air|apk|app|bin|com|exe|dmg|hqx|gz|g
zip|jar|msi|rar|sea|sh|sis|sit|sitx|tar|taz|tgx|tgz|uu|z|zip))?\
如果下载网址没有上面列出的扩展程序会怎样? 我的网站有一个下载页面,其中php脚本跟踪每个软件下载。如果我只提供二进制文件的链接,则会失去跟踪下载的能力。另一方面,我不确定如果PAD文件不符合规范会发生什么。
答案 0 :(得分:1)
为什么不通过将给定目录存根转发到PHP脚本的RewriteRule来处理下载?这对调用者来说是透明的,并允许您在脚本中执行任何操作。
例如:
RewriteRule \A/downloads/((?!\.php).)*$ /downloads/index.php [L]
然后,您可以通过$_SERVER['REQUEST_URI']