Нечувствительный к регистру резерв / перенаправление
Я использую некоторые изображения по умолчанию, чтобы показать пользователям тип используемого документа.
например, это изображение, чтобы показать, что есть файл.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
в учетную запись) - Переписать код, который загружает файл изображения, чтобы автоматически использовать строчные буквы