0

我正在调用 htaccess 格式的 cfm 文件来对图像执行一些操作,如下所示:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    ...
    RewriteRule   \.(jpg|jpeg|gif|png) services/adaptive-images.cfm
</IfModule>

在 cfm 文件中,我正在调整图像的大小。

问题:
这也可以通过调用 cfc 文件中的方法来实现吗?像这样的东西:

    RewriteRule   \.(jpg|jpeg|gif|png) services/ai.cfc?method=resize

有没有办法使这项工作?

感谢您提供任何信息!

4

1 回答 1

3

您提出的问题可以归结为几个组成部分:

  1. 可以通过 HTTP 调用 CFC 方法吗?
  2. 重写规则可以发出 HTTP 请求吗?

显然,第二个答案是“是”。而且 - 正如您似乎已经知道的那样 - 第一个答案也是“是”。您在 RewriteRule 中演示了此语法。

这里需要考虑的是 CF 只是从 Web 服务器接收请求以完成 HTTP 请求。CF 不知道(或关心)请求是否可以直接从 Web 服务器直接通过,或者它是否首先由重写模块重写。

所以...如果您遇到错误,那是另外一回事。从 Web 服务器/重写模块/CF 的角度来看,您尝试做的事情是完全可能的。

我建议您查看日志并查看导致 500 错误的原因。实际上,如果您启用了强大的异常处理,您应该会在屏幕上显示错误的原因。

如果你直接通过浏览器地址栏调用你正在重写的 URL 会发生什么?

于 2012-06-10T11:43:20.340 回答