在管理 Apache 方面,我是一个完全的新手,所以如果我的措辞不正确,请原谅。
我有一个网站——比如说,http://domain.com
. 问题是,当我尝试http://domain.com/index.html
在 Web 浏览器中打开它时,它会显示该页面,但是当我尝试访问http://domain.com/Index.html
(注意大写 I)时,它会以 HTTP 404 响应。
如何配置 Apache 以不区分大小写的方式提供这两个文件(和目录)?电流httpd.conf
就在这里。
编辑 Dan C,感谢您的提示。我基本上希望允许用户从我的服务器下载文件,而不是真的希望他们意识到这一点Index.html
并且index.html
实际上是不同的。
我也很想知道这个决定的后果是什么。
首先想到的是mod_rewrite,它已经加载到您的配置中。
假设您的文件都是小写的(这可能是一个危险的假设):
如果您在 linux 服务器上运行 apache,问题在于它使用底层 linux 区分大小写的文件系统,您可以查看 matt 提到的 ReWrite。
另一种选择是用于 apache 的 mod_speling 模块(是的,它是一个 L),在此处提到 >这里< 但我认为它只会查找一个拼写错误,并且如果一个目录中有很多文件,也可能会减慢访问速度
希望有帮助
它不适用于 httpd.conf。如前所述,问题在于您所在的 Linux 文件系统区分大小写。
我知道一种肯定有效的方法:将您的网络应用程序放入 /opt/www/yourapplication
然后只为本地主机创建 /opt/www 的 SMB 共享
然后将 Samba 共享挂载到 /var/www
Samba 用于 Windows 共享,而 Windows 共享不区分大小写,因此 Samba 会为您处理区分大小写的问题,在内部将所有内容设为 LOWERCASE。