2010-02-02 3 views
0

У меня есть правило, которое получит расширение каждого файла из URL-адреса. Мне нужно сопоставить все файлы jpg, gif, png и bmp. Это приложение для водяных знаков. В настоящее время он соответствует только jpg и Jpg. Может ли кто-нибудь помочь мне соответствовать всем четырем расширениям?Помощь с mod_rewite правило

Вот что у меня есть до сих пор.

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

ответ

2

Это будет делать это:

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

Обратите внимание, что правило в вашем посте на самом деле, соответствующий любой файл, расширение начинается с J или G.

+0

Спасибо Макс! Я ценю помощь. Прекрасно работает. – timmay

+0

Ваше право на соответствие любой букве, начинающейся с j или g. Это также соответствовало gifs, но по какой-то причине не соответствовало бы png. Я получаю ошибку сервера 500. – timmay

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

[NC] допускает непоследовательное совпадение. Кроме того, первый .+ заботится о непустых именах файлов. Часть (\?.*)? соответствует необязательным строкам запроса.

+0

Привет, Болдевин, спасибо за ваш ответ. Мне нужно присоединиться, чтобы я мог проголосовать. – timmay

Смежные вопросы