我有一个脚本可以在图像上添加水印。
我想要一个RewriteRule,它将排除文件夹内的图像(拇指和拇指列表)。此文件夹中的含义图像不会标有水印
目前我有这个
RewriteRule ^([^/thumb|^/profilethumb].*\.(gif|jp?g|png))$ watermark.php?image=$1&watermark=watermark.png [NC]
问题是它没有在(拇指)的图像上放置水印,这是正确的但仍然在文件夹(profilethumb)中标记水印。
答案 0 :(得分:2)
结合条件尝试此规则:
RewriteCond %{REQUEST_URI} !^/(profile)?thumb(/.*)?$ [NC]
RewriteRule ^.*\.(gif|png|jpe?g)$ watermark.php?image=$0&watermark=watermark.png [L,NC]
答案 1 :(得分:1)
也许这就是你所需要的:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/(thumb|profilethumb) [NC]
RewriteCond %{REQUEST_URI} !watermark\.php [NC]
RewriteCond %{REQUEST_URI} /([^.]+)\.(gif|jpg|jpeg|png) [NC]
RewriteRule .* /watermark.php?image=%1.%2&watermark=watermark.png [NC,L]
我想在/thumb
和/profilethumb
中只有图像并且从规则中排除这两个目录就足够了。如果还有其他文件,我认为你不希望他们有水印。
答案 2 :(得分:0)
您可以先使用RewriteRule
跳过两个目录thumb
和profilethumb
,这不会替换URL路径,然后使用第二个规则处理所有其他图像< / p>
RewriteRule ^(?:thumb|profilethumb).*\.(?:gif|jpe?g|png)$ - [L,NC]
RewriteRule ^.*\.(?:gif|jpe?g|png)$ watermark.php?image=$0&watermark=watermark.png [L,NC]