2013-08-29 44 views
1

的PAD規範(http://pad.asp-software.org/spec/spec.php)定義下載網址如下: URL FTP或HTTP:// + 2-120字符擴展EXE,拉鍊,或其它 和所使用的正則表達式模式是:PAD文件下載URL

^((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文件不符合規範,我不確定會發生什麼情況。

回答

1

爲什麼不通過RewriteRule處理下載,將給定的目錄存根轉發到您的PHP腳本?這對調用者來說是透明的,並允許你在你的腳本中做任何你想做的事情。

例如:

RewriteRule \A/downloads/((?!\.php).)*$  /downloads/index.php [L] 

你可以然後通過$_SERVER['REQUEST_URI']

+0

有趣的是,可能的工作,讓我試試吧,訪問所請求的網址(因此導出所需的文件等)謝謝非常 –

+0

我得到這個工作: RewriteEngine敘述在 重寫規則^下載/.*$的download.php [L] 非常感謝您的幫助! –

+0

@AndyM這是.htaccess格式。 (使用^代替\ A /等)很高興這個解決方案適合你。 –