apache配置忽略文件名后缀的大小写

有一台老linux服务器,上面配置类ftp给用户上传,再配置http做其他用
问题在于,用户上传的是以.JPG的大写,其他人都以为是小写,导致一些冲突

因为服务较老,apache也不熟悉,想用nginx实现一个大小写转换
也发现网上一些方法,如使用perl正则,lua,大小写转换的模块等,都不适用个人情况,也实实在在发现nginx在这种情况并不好用

无奈去apache官网搜寻文档,发现了两个能解决文档问题的配置指令:
CheckSpelling
CheckCase

在看完文档并尝试之后,这两配置指令能解决问题
CheckSpelling on 启用拼写模块
CheckCase 更正大小写

它们都依赖模块mod_speling,所有配置之前加载这个模块,重启服务即可,比nginx方便很多

配置

修改配置文件/etc/httpd/conf/httpd.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    CheckSpelling on
    CheckCaseOnly on
</Directory>

#并加载依赖模块
LoadModule speling_module modules/mod_speling.so


重启服务后访问测试
我本地只有一个.jgp的文件,我用.JPG去访问
实际上是被重定向到.jpg的文件

反过来一个后缀是大写的文件,用小写去访问大写,也是一样

posted @ 2021-05-14 11:24  EverEternity  阅读(412)  评论(0编辑  收藏  举报