我已定义了如下所示的别名:
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。有没有办法克服它?
由于
答案 0 :(得分:0)
REQUEST_FILENAME只是您在htaccess中使用规则时使用的完整文件系统路径,或者在每个虚拟主机配置中,就像您拥有它仍然只是URI一样。
这主要是因为Apache现阶段尚未有机会将其映射到任何文件。
你可以在你的-f测试中添加前缀,或者全部:添加规则,添加Rewritebase / pictures / sm /,并更改规则的正则表达式...
然而,你的正则表达式目前没有任何意义。如果Alias很重要并且是/ pictures / sm,那么rewriterule永远不会与^ /缩略图匹配。