【问题标题】:Does Helicon ISAPI Rewrite 3 Lite caches files for existence check?Helicon ISAPI Rewrite 3 Lite 是否缓存文件以进行存在检查?
【发布时间】:2013-01-18 22:13:01
【问题描述】:

我正在为网站开发动态缩略图生成功能,并且我正在使用 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 上运行。

请帮忙!

谢谢

【问题讨论】:

    标签: coldfusion iis-6 isapi-rewrite


    【解决方案1】:

    好的,我找到了问题!

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

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

    我只是按照这篇博文中的步骤操作:

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

    谢谢

    【讨论】:

    • 想要将问题标记为“已回答”吗?
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2014-01-03
    • 2012-07-18
    • 2020-02-23
    • 2013-02-12
    • 2013-06-27
    相关资源
    最近更新 更多