Нечувствительный к регистру резерв / перенаправление

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

например, это изображение, чтобы показать, что есть файл.png

в /osr/icons/mime/ папка У меня есть изображения для множества файлов, например avi.png, html.png, jpg.png...

Так что мне просто нужно получить расширение файла для моего текущего документа, например png и отображать /osr/icons/mime/png.png

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

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} /osr/icons/mime/(.*).(gif|jpg|jpeg|png)$
RewriteRule ^(.*) /osr/icons/mime/generic.png

Это хорошо работает, за исключением случаев, когда расширение документа в верхнем регистре, например .PNG вместо .png, В этом случае мой код пытается отобразить /osr/icons/mime/PNG.png который не существует, поэтому показывает общее изображение.

Есть ли способ изменить RewriteCond/Rule для перехода к строчному изображению?

Я нашел Как мне сделать нечувствительный к регистру редирект mod_rewrite на тот же URL (мод кейс)? который рекомендует RewriteMap insensitive tolower: но я точно не знаю, если / как это будет работать для меня. С помощью [NC] тоже не работал

Мне известны следующие обходные пути, которые я на самом деле не хочу использовать:

  • Переключение на нечувствительную к регистру обработку файлов для папки
  • Дублирование списка элементов всех файлов в папке в верхнем регистре имен (не будет принимать .Png в учетную запись)
  • Переписать код, который загружает файл изображения, чтобы автоматически использовать строчные буквы

0 ответов

Другие вопросы по тегам