Mod rewrite 重写cond和别名

Mod rewrite 重写cond和别名,mod-rewrite,apache2,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) /ima

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

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不知道别名。有办法克服它吗


谢谢

REQUEST\u FILENAME只是完整的文件系统路径,如果您在htaccess中使用它,或者在pervirtualhost配置中使用它,它仍然只是URI

这主要是因为Apache在此阶段还没有机会将其映射到任何文件

您可以将前缀添加到-f测试中,或者全部添加:将规则放入,添加Rewritebase/pictures/sm/,并更改规则的正则表达式

然而,您的正则表达式目前没有任何意义。如果别名很重要且为/pictures/sm,则重写规则永远无法与^/缩略图匹配