我有:
http://www.site.tk/track/aaaa.png
我希望从该文件夹访问的所有.png文件都重定向到:
http://www.site.tk/track/track.php
因此当我使用以下方式插入其他网站中该文件夹的png文件时:
<img src="http://www.site.tk/track/bbbb.png">
用户将看到“track.php”的内容
我试过:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase track
RewriteRule ^([A-z0-9]{6}).png /track.php
我使用了“RewriteBase track”,因为.htaccess位于〜/ track /文件夹中。
这是track.php的内容
<?php
$date = date('d-m-Y');
$time = date('H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$ref = @$_SERVER["HTTP_REFERER"];
header('Content-type: image/png');
echo gzinflate(base64_decode('6wzwc+flkuJiYGDg9fRwCQLSjCDMwQQkJ5QH3wNSbCVBfsEMYJC3jH0ikOLxdHEMqZiTnJCQAOSxMDB+E7cIBcl7uvq5rHNKaAIA'));
$myFile = "tr.txt";
$fh = fopen($myFile, 'a');
fwrite($fh, $myFile = $time ." | ". $date . " | " .$ip. " | " .$ref. " | \r\n\r\n");
fclose($fh);
?>
所有.png图像将是1px x 1px,作为tracker.php内base64上编码的图像。我想在电子邮件和论坛上使用它来查看谁看到了我的电子邮件和我的个人资料。
答案 0 :(得分:2)
您设置RewriteBase
但不正确。
此外,您的规则在内部重写为根文件/track.php
(不存在),因为您设置了一个前导斜杠(因此,取消RewriteBase
操作)。
你可以用这个替换你当前的代码(你的htaccess仍然必须在track
文件夹中)
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /track/
RewriteRule ^[^/]+\.png$ track.php [L]