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的文件
反过来一个后缀是大写的文件,用小写去访问大写,也是一样