不区分大小写的回退/重定向

不区分大小写的回退/重定向

我正在使用一些默认图像向用户展示所使用的文档类型。

例如,此图像显示有一个 .png 文件

例如,此图像显示有一个 .png 文件

/osr/icons/mime/文件夹中我有许多文件的图像,例如avi.png,,,...html.pngjpg.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(mod 大小写)?推荐了RewriteMap insensitive tolower:,但我不太清楚这是否/如何对我有用。使用[NC]也没有用。

我知道以下解决方法,但我并不想使用:

  • 切换到不区分大小写的文件夹文件处理
  • 将文件夹中的所有文件复制为大写名称(不会考虑.Png
  • 重写加载图像文件的代码以自动使用小写

相关内容