PHPを使用して画像の低解像度コピーを生成するスクリプトに取り組んでいます。ファイルが存在しない場合にのみ PHP スクリプトを実行する mod_write に苦労しています。
私が現在持っているもの(今日何千回も試行したため、少しずれている可能性があります)は次のとおりです。
RewriteCond %{REQUEST_URI} (900x...|...x900)\.(png|jpe?g|gif)
RewriteCond %{HTTP_COOKIE} ^(.*;\ )?(window_resolution=(640))(;\ .*)?$ [NC]
RewriteRule full/(.*) /responsive/cache/480/responsive/$1 [L]
RewriteCond %{REQUEST_URI} (.*)(900x...|...x900)\.(png|jpe?g|gif)
RewriteCond %{HTTP_COOKIE} ^(.*;\ )?(window_resolution=(.*))(;\ .*)?$ [NC]
RewriteCond %{DOCUMENT_ROOT}/responsive/cache/%3%{REQUEST_URI} !-f
RewriteRule .* /responsive/resize.php [L]
現在、ファイルは次のように配置されています。
/responsive/full/photo-900x500.jpg
キャッシュは次の場所に保存されます。
/responsive/cache/
次の形式で:
/responsive/cache/<resolution>/<original path>
ファイルが必要な場所の例:
/responsive/cache/768/responsive/photo-900x500.jpg
理想的には、これは、このような構造を作成するワードプレスのようなもので使用されます
キャッシュ:
/cache/
オリジナル:
/wp-content/uploads/*
例:
/cache/768/wp-content/uploads/2012/01/test.jpg