.htaccess或其他URL区分大小写

Jos*_*oux 2 .htaccess case case-sensitive

我的服务器是区分大小写的,并且喜欢把它变成inSensitive.
我的意思是
说我上传Fruit.php
然后转到这个文件不会工作:
www.website.com/fruit.php
但是这个会:
www.website.com/Fruit.php

有没有办法这样Fruit.php和fruit.php会起作用吗?还有目录.即:
/ S cript/script.php
/ script/S cript.php

Jam*_*ath 12

您需要使用mod_speling(sic)apache模块:

http://httpd.apache.org/docs/1.3/mod/mod_speling.html

在.htaccess

<IfModule mod_speling.c>
  CheckCaseOnly On
  CheckSpelling On
</IfModule>
Run Code Online (Sandbox Code Playgroud)

CheckSpelling操作使Apache执行更多的工作来查找匹配,例如纠正常见的拼写错误


olo*_*ney 5

区分大小写取决于文件系统,而不是Apache.但是,有部分解决方案.mod_rewrite可以将所有内容强制转换为小写(或大写),如下所示:

RewriteMap tolowercase int:tolower 
RewriteRule ^(.*)$ ${tolowercase:$1}
Run Code Online (Sandbox Code Playgroud)

参考:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap

不幸的是,这仅适用于所有文件都是小写的情况,而您指定混合大小写文件名(Fruit.php.)您是否习惯重命名项目中的所有文件小写?