我正在为 CMS 编写动态缩略图创建器,需要动态检查文件是否存在。我目前已经创建了一个 htaccess 文件,用于检查您请求的文件是否存在,但需要它更高级一些,并根据提交的 URL 选项“创建”文件检查。
这是我目前拥有的(基于图像 ID,而不是名称):
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]
基于此网址:
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
"Crop" 是可选的,所以没有它之前的 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 有很多开销,我认为这会更快。
非常感谢您提前提供的任何帮助!