httpd.conf用于不区分大小写的文件服务

我是一个pipe理Apache的完全新手,所以如果我不正确地措词,请原谅。

我有一个网站 – 说, http://domain.com 。 问题是,当我尝试打开网页浏览器中的http://domain.com/index.html它显示的页面,但是当我尝试访问http://domain.com/Index.html (注意大写我),它用HTTP 404响应。

如何configurationApache以不区分大小写的方式为这两个文件(和目录)提供服务? 目前的httpd.conf在这里 。

编辑 丹C ,谢谢你的提示。 我基本上想让用户从我的服务器上下载文件,并不是真的希望他们知道Index.htmlindex.html实际上是不同的。

我也非常愿意知道这个决定的后果是什么。

首先想到的是mod_rewrite ,它已经加载到你的configuration中。

假设你的文件都是小写的(这可能是一个危险的假设):

 RewriteEngine On RewriteCond %{REQUEST_URI} [AZ] RewriteRule ^(.*)$ ${tolower:$1} 

如果你在Linux服务器上运行apache,问题在于它使用底层的Linux区分大小写的文件系统,你可以看看Matt提到的ReWrite。

另一个select是apache的mod_speling模块(是的,它是一个L), 这里提到>但是我认为只会查找一个拼写错误,并且如果一个目录中有很多文件,

希望有所帮助

它并不真正与httpd.conf一起工作。 如上所述,问题在于您所在的Linux文件系统区分大小写。

我知道一种可行的方法:把你的web应用程序放到/ opt / www / yourapplication中

然后仅为本地主机提供/ opt / www的SMB共享

然后将Samba共享挂载到/ var / www

Samba用于Windows共享,而Windows共享不区分大小写,所以Samba将为您处理大小写敏感的问题,从而使内部的所有内容都成为LOWERCASE。