根据mod_aliased目录中文件的存在不可能mod_rewrite?

时间:2009-11-11 21:11:55

标签: apache .htaccess mod-rewrite mod-alias

我正在尝试在我的.htaccess文件中执行以下操作:

Alias /assets /location/of/files

RewriteCond %{REQUEST_URI} ^/assets/[0-9]+.jpg$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /build_thumbnail.cfm?path=%{REQUEST_URI} [QSA,L]

所以理论上说这很简单:

  • 从/ assets /
  • 开头的网址请求图片
  • apache检查文件是否存在
  • 如果找到,则提供文件
  • 如果没有,则运行脚本

这在其他地方工作正常,但这是我第一次尝试在包含为Alias的目录中使用它。据我所知,Mod Rewrite在Mod Alias之前运行,肯定会导致这种情况无法正常工作(实际上我的Alias行在apache conf中,其余的在.htaccess中)。

有没有办法让Mod Rewrite承认别名目录?

是否可以将Alias行更改为Rewrite行?

1 个答案:

答案 0 :(得分:0)

尝试使用-F来调用子请求:

RewriteCond %{REQUEST_URI} ^/assets/[0-9]+.jpg$
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule .* /build_thumbnail.cfm?path=%{REQUEST_URI} [QSA,L]