如果文件名中包含其他点,我如何通过扩展名匹配文件?

时间:2013-08-04 19:03:04

标签: regex .htaccess mod-rewrite

我正在尝试编写一个RewriteRule来匹配文件的扩展名,我想出的是:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteRule ^([^.]*\.less)$ ./index.php?f=$1
</IfModule>

当文件名中唯一的点是分隔扩展名的点时,这可以正常工作,但当其中有其他点时会失败。例如,它不适用于hello.world.less

我不知道如何从这里开始,任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

尝试

^(.*\.less)$ 

这仍然强制存在最后一个点。

答案 1 :(得分:1)

尝试删除该字符类,只需使用.代替:

RewriteRule ^(.*\.less)$ ./index.php?f=$1

这将匹配任何以.less结尾的文件名,无论其前面有哪些其他字符。