2013-08-04 5 views
2

Я пытаюсь написать RewriteRule, который будет соответствовать файлы по их расширению, и то, что я придумал это:Как я могу сопоставлять файлы по расширению, если у них есть другие точки в именах файлов?

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

Это прекрасно работает, когда только точка в имени файла является один отделяя расширение , но терпит неудачу, когда там есть другие точки. Например, он не будет работать для hello.world.less.

У меня нет понятия о том, как исходить из этого, любая помощь будет очень признательна. Благодаря!

ответ

1

Постарайся только удаление этого класса персонажа и использовать только . вместо:

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

Это будет соответствовать любое имя файла, который заканчивается .less независимо от того, что другие персонажи приходят перед ним.

+0

1 мин. 40 секунд для правильного ответа, это смешно удивительно! Благодаря! К сожалению, я пока не могу продвигать (недостаточно репутации), но я могу хотя бы принять ваш ответ. – user2590712

+0

@ user2590712 Рад помочь. Счастливое кодирование :) –

2

Попробуйте

^(.*\.less)$ 

Это еще усиливает последнюю точку на существование.

+0

Спасибо! К сожалению, я пока не могу продвинуться (недостаточно репутации), а другой ответ появился первым, поэтому я решил принять его. Извините за это, вернусь, чтобы подняться, когда я получу достаточную репутацию. – user2590712

+0

Нет проблем, удачи :) – BartoszKP

+0

@ user2590712 Не волнуйтесь, +1 от вашего имени. –