我的服务器区分大小写,并且想把它变成inSensitive
我的意思的例子是
让我说我上传Fruit.php
好吧,然后去这个文件不会工作:
www.website.com/fruit.php
但是这个会:
www.website.com/Fruit.php
有没有办法让Fruit.php和fruit.php工作?还有目录。即:
/Script/script.php
/script/Script.php
答案 0 :(得分:12)
您需要使用mod_speling(原文如此)apache模块:
http://httpd.apache.org/docs/1.3/mod/mod_speling.html
在.htaccess
<IfModule mod_speling.c>
CheckCaseOnly On
CheckSpelling On
</IfModule>
CheckSpelling操作使Apache执行更多的工作来查找匹配项,例如纠正常见的拼写错误
答案 1 :(得分:5)
区分大小写取决于文件系统,而不是Apache。但是,有部分解决方案。 mod_rewrite可以将所有内容强制转换为小写(或大写),如下所示:
RewriteMap tolowercase int:tolower
RewriteRule ^(.*)$ ${tolowercase:$1}
参考:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap
不幸的是,这只适用于所有文件都是小写的情况,同时指定大小写混合文件名(Fruit.php。)您是否习惯重命名项目中的所有文件小写?
答案 2 :(得分:2)
UNIX服务器区分大小写 - 它们区分文件名和文件夹名中的大写和小写字母。因此,如果您将网站从Windows移动到UNIX服务器(例如,当您更改Web主机时),则可能会出现一定数量的“未找到页面”错误(404错误),因为目录和其他网站链接到你的错误有时会出错(通常以大写字母等方式写出文件夹名称的第一个字母)。这个基于javascript的自定义404错误页面通过将URL转换为小写来解决问题。
您可以从http://www.forbrugerportalen.dk/sider/404casescript.js
获取脚本快乐的编码!!!!!!!