目前我有一个客户端应用程序直接从我在LAMP服务器上运行的WEB服务器上下载文件。文件地址如下:http://example.com/application/images/*.jpg
。
我要计算下载文件的次数;但是,我无法更改客户端应用程序,因此他们可以将请求发送到其他地址或页面。
我想有一些基于URL重写的技术,因此我可以将http://example.com/application/images/xyz.jpg
等形式的请求转换为http://example.com/application/counter.php?file=xyz.jpg
之类的内容。通过这种方式,我可以处理文件下载并使用this answer中建议的技术对其进行计数。
所以我想知道如何设置.htaccess
文件或使用mod-rewrtie将我的请求重定向到counter.php
页面?
我当前的.htaccess文件如下所示:
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
# AddHandler application/x-httpd-php54 .php .php5 .php4 .php3
Options -Indexes
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
P.S。我的Web服务器在共享主机上运行,因此我无法访问此服务器上的所有内容,但我可以执行添加/编辑.htaccess
文件等任务。
答案 0 :(得分:0)
您可以在站点根目录中使用这些规则.htaccess:
RewriteEngine On
RewriteRule ^(application)/images/(xyz\.jpg)$ $1/counter.php?file=$2 [QSA,L,NE]
然后在counter.php
内保留一个计数,然后使用jpg
加载$_GET['file']
图像并使用正确的MIME类型。