Правило mod_rewrite: как сопоставить файлы jpg, gif, png и bmp - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть правило, которое получит расширение каждого файла из URL. Мне нужно сопоставить все файлы JPG, GIF, PNG и BMP. Это для применения водяных знаков. В настоящее время он соответствует только jpg и Jpg. Как сопоставить все четыре расширения?

Вот что у меня сейчас есть.

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

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

Это сделает это:

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

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

1 голос
/ 02 февраля 2010
RewriteRule ^(.+\.(jpg|gif|png|bmp)(\?.*)?)$   /test.php?i=$1 [NC]

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...