実際には、.htaccess 内でリファラーを渡そうとしています。私がやろうとしているのは、この値がデータベースに保存される PHP スクリプトにリファラー値を送信することです。場合によっては (リファラーに応じて) 画像がブロックされ (ホットリンク)、画像が正常に表示される場合もあります。しかし、それは機能しません:-(私の現在の「試行」は次のようになります(テスト用であるため、現在すべての画像が処理されます):
RewriteCond %{REQUEST_URI} (.*)jpg$
RewriteCond %{ENV:verified} ^$
RewriteRule (.*)jpg$ /include/referrer.php?ref=%{REQUEST_FILENAME}&uri=%{REQUEST_URI}&query=%{QUERY_STRING}&env=%{ENV:verified} [E=verified:yes]
RewriteCond %{REQUEST_URI} (.*)jpg$
RewriteCond %{ENV:verified} ^yes$
RewriteRule ^(.*)$ %{REQUEST_FILENAME} [E=verified:no]
referrer.php は次のようになります。
<?
log_img($_REQUEST['uri'].' - "'.$_REQUEST['env'].'"');
?>
問題は、referrer.php が呼び出されるのに画像が表示されないことです。これは、2 番目のルールに達していないため明らかです。
また、次のように、referrer.php 内に画像を表示しようとしました。
<?
log_img($_REQUEST['uri'].' - "'.$_REQUEST['env'].'"');
$src = str_replace($_SERVER['DOCUMENT_ROOT'],'',$_REQUEST['ref']);
?>
<img src="<? echo $src ?>" />
しかし、その後 .htaccess が再度呼び出され、無限ループに陥ります。
問題は、2 番目のルールにアクセスするにはどうすればよいか、またはやりたいことをどのように達成できるかということです。それを行う方法はありますか?
助けてくれてありがとう、ラース