【问题标题】:mod_rewrite rule: How to match jpg, gif, png and bmp filesmod_rewrite 规则:如何匹配 jpg、gif、png 和 bmp 文件
【发布时间】:2010-02-02 12:41:44
【问题描述】:

我有一条规则可以从 url 获取每个文件的扩展名。我需要匹配所有 jpg、gif、png 和 bmp 文件。这是用于水印应用程序。目前,它只匹配 jpg 和 Jpg。如何匹配所有四个扩展?

这是我目前所拥有的。

RewriteRule ^(.*\.[jJgG].*)$ /test.php?i=$1

【问题讨论】:

    标签: regex .htaccess mod-rewrite


    【解决方案1】:

    这样就可以了:

    RewriteRule ^(.*\.(jpg|gif|bmp|png))$ /test.php?i=$1 [NC]
    

    请注意,您帖子中的规则实际上匹配任何扩展名以 J 或 G 开头的文件。

    【讨论】:

    • 谢谢麦克斯!我很感激帮助。效果很好。
    • 您有权匹配以 j 或 g 开头的任何字母。它也匹配 gif,但由于某种原因,不匹配 png。我会收到 500 服务器错误。
    【解决方案2】:
    RewriteRule ^(.+\.(jpg|gif|png|bmp)(\?.*)?)$   /test.php?i=$1 [NC]
    

    [NC] 启用不区分大小写的匹配。此外,第一个 .+ 关心非空文件名。 (\?.*)? 部分匹配可选的查询字符串。

    【讨论】:

    • 您好 Boldewyn,感谢您的回答。我需要加入才能投票。
    猜你喜欢
    • 2011-04-11
    • 2012-11-25
    • 2013-05-10
    • 2012-01-24
    • 2012-06-27
    • 1970-01-01
    • 2010-09-29
    • 2010-10-19
    • 1970-01-01
    相关资源
    最近更新 更多