1

次の htaccess ファイルがあります。

<filesMatch "\.png$">
<ifModule mod_headers.c>
Header set Cache-Control "public"
Header set Content-Description "File Transfer"
Header set Content-Disposition "attachment"
Header set Content-Type "image/png"
Header set Content-Transfer-Encoding "binary"
</ifModule>
</filesMatch>

ファイルマッチを実行する代わりに、%{QUERY_STRING} をテストしたいと思います。それは可能ですか?

4

1 に答える 1

0

htaccess ファイルだけを使用してこれを行うことはできません。ヘッダーを設定するスクリプトなどを作成し、次のようなものを使用してリクエストをスクリプトにマップする必要があります。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^dl=true$
RewriteRule ^(.*)\.png$ /image_dl.php?file=$1.png [L]

次に、image_dl.php スクリプトで:

<?php
header('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment');
header('Content-Type: image/png');
header('Content-Transfer-Encoding: binary');

$file = $_GET['file'];
header("Content-length: ".filesize($file));  

ob_clean();
flush();
readfile($file); 
?>
于 2012-10-05T19:43:23.343 に答える