Helicon ISAPI重写3 Lite缓存文件是否存在检查?

时间:2013-01-18 22:13:01

标签: coldfusion iis-6 isapi-rewrite

我正在为网站制作动态缩略图生成功能,我正在使用mod_rewrite功能快速缓存已生成的图像。

我使用以下重写条件执行此操作:

RewriteCond  %{DOCUMENT_ROOT}%{REQUEST_FILENAME}    !-s
RewriteRule  ^/thumber/images/([0-9]+)_([0-9]+)_(.+)$  /thumber/thumbnail.cfm?src=$3&w=$1&h=$2  [PT,L,QSA]

如果请求的图像不存在,第一行确保重写规则仅转发到我的脚本页面。

这在Apache 2中工作正常,但是当我使用ISAPI Rewrite 3 Lite将相同的规则移动到IIS服务器时,它总是表现得好像文件不存在,即使在缩略图已经存在的第一次重定向之后也是如此生成。

简而言之,出于某种原因,! - s 标志显示为好像根本不起作用。我也试过! - f 并且没有变化。

我想也许这个版本的ISAPI Rewrite正在使用某种缓存信息来确定文件是否存在。

除此之外,我无法理解为什么它适用于Apache而不适用于ISAPI。

请帮忙!

由于

1 个答案:

答案 0 :(得分:1)

好的,我发现了问题!

这一切都归结为权限问题。 ISAPI重写过程没有足够的权限来读取我正在编写生成的缩略图(/ thumber / images /)的文件夹的内容,因此它假定该文件不存在。

解决方案是为正确的用户分配正确的权限。

我只是按照此博文中的步骤进行操作:

http://vbscriptautomation.net/29/wordpress-permalinks-isapi-rewrite-3-windows-plesk/

由于