【发布时间】:2010-02-02 12:41:44
【问题描述】:
我有一条规则可以从 url 获取每个文件的扩展名。我需要匹配所有 jpg、gif、png 和 bmp 文件。这是用于水印应用程序。目前,它只匹配 jpg 和 Jpg。如何匹配所有四个扩展?
这是我目前所拥有的。
RewriteRule ^(.*\.[jJgG].*)$ /test.php?i=$1
【问题讨论】:
标签: regex .htaccess mod-rewrite
我有一条规则可以从 url 获取每个文件的扩展名。我需要匹配所有 jpg、gif、png 和 bmp 文件。这是用于水印应用程序。目前,它只匹配 jpg 和 Jpg。如何匹配所有四个扩展?
这是我目前所拥有的。
RewriteRule ^(.*\.[jJgG].*)$ /test.php?i=$1
【问题讨论】:
标签: regex .htaccess mod-rewrite
这样就可以了:
RewriteRule ^(.*\.(jpg|gif|bmp|png))$ /test.php?i=$1 [NC]
请注意,您帖子中的规则实际上匹配任何扩展名以 J 或 G 开头的文件。
【讨论】:
RewriteRule ^(.+\.(jpg|gif|png|bmp)(\?.*)?)$ /test.php?i=$1 [NC]
[NC] 启用不区分大小写的匹配。此外,第一个 .+ 关心非空文件名。 (\?.*)? 部分匹配可选的查询字符串。
【讨论】: