Я пишу создатель миниатюр на лету для CMS, и мне нужно динамически проверить, существует ли файл.В настоящее время я создал файл htaccess, который проверяет, существует ли запрашиваемый файл, но нужно, чтобы он был немного более продвинутым, и "создать" проверку файла на основе параметров отправленных URL-адресов.
Вот что яв настоящее время есть (на основе идентификатора изображения, а не имени):
RewriteEngine on
#Check for file existence here and forward if exists
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)(-(crop))?\.jpg$ thumbnail.php?id=$1&w=$2&h=$3&c=$4 [L,QSA]
На основе этого URL:
this-is-the-image-name.gif?w=200&h=100&c=true
Файл htaccess проверяет, существует ли этот файл:
this-is-the-image-name-gif-200-100-crop.jpg
Если его не существует, пользователь RewriteRules может:
thumbnail.php?name=this-is-the-image-name&type=gif&w=200&height=100&c=true
"Обрезать" необязательно, поэтому без него предыдущие URL выглядят так:
this-is-the-image-name.gif?w=200&h=100
this-is-the-image-name-gif-200-100.jpg
thumbnail.php?name=this-is-the-image-name&type=gif&w=200&height=100
В основном мне нужен RewriteCond, чтобы проверить, существует ли файл на основе имени файла, который он создает на основе REQUEST_FILENAME
.Есть идеи?
Примерно так:
RewriteCond ^([a-zA-Z0-9-]+).(jpg|gif|png)?w=([0-9]+)&h=([0-9]+)(&c=(-crop))?\.jpg$ %$1-$2-$3-$4-$6.jpg !-f
Даже не уверен, что это возможно ... в таком случае я бы отправил ВСЕ запросы в файл PHP,но так как PHP имеет много накладных расходов, я подумал, что это будет быстрее.
Большое спасибо за любую помощь заранее!