RewriteCond和别名

时间:2010-04-09 18:51:29

标签: mod-rewrite apache2

我已定义了如下所示的别名:

Alias /pictures/sm/ /var/www/my_site/data/_active_thumbnails/

稍后在VirtualHost部分中有:

DocumentRoot    /var/www/my_site/sites/www.my_site.com/htdocs

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/thumbnails/(.*)\.(jpg|JPG)    /images/stg-list-img.png [PT,L]

我要做的是只有在驱动器上不存在原始图像时才显示/images/stg-list-img.png占位符图像。

现在它正在替换/ thumbnails /中的所有图像。看起来RewriteCond并不知道Alias。有没有办法克服它?

由于

1 个答案:

答案 0 :(得分:0)

REQUEST_FILENAME只是您在htaccess中使用规则时使用的完整文件系统路径,或者在每个虚拟主机配置中,就像您拥有它仍然只是URI一样。

这主要是因为Apache现阶段尚未有机会将其映射到任何文件。

你可以在你的-f测试中添加前缀,或者全部:添加规则,添加Rewritebase / pictures / sm /,并更改规则的正则表达式...

然而,你的正则表达式目前没有任何意义。如果Alias很重要并且是/ pictures / sm,那么rewriterule永远不会与^ /缩略图匹配。