没有某些特定表达式的文件名

时间:2013-10-12 14:27:03

标签: regex apache .htaccess mod-rewrite

我有一个.htaccess文件,其中包含以下重写条件:

RewriteEngine on

RewriteRule ^((?:(?!teaser_).)*\.(jpg|jpeg).*)$ watermark.php?img=$1 [NC]

现在,它在每个.jpg或.jpeg图像上应用水印,其中不包含名称中的“teaser_”。

如何编辑它以免影响文件名中带有“teaser_”或“original_”的图像?

所以图像127_1386.jpg应该受到影响,original_127_1386.jpg不应该受到影响,teaser_127.jpg也不应该受到影响。

提前致谢。

1 个答案:

答案 0 :(得分:0)

不要让正则表达式复杂化。像这样使用单独的RewriteCond

RewriteEngine on

RewriteCond %{REQUEST_URI} !/(teaser|original)_ [NC]
RewriteRule ^(.+?\.jpe?g)$ watermark.php?img=$1 [L,NC,QSA]