2

我的服务器是区分大小写的,我想把它变成不敏感的。
我的意思的例子是
假设我上传 Fruit.php
那么去这个文件不会工作:
www.website.com/fruit.php
但这个会:
www.website.com/Fruit.php

有没有办法Fruit.php 和fruit.php 会起作用吗?也与目录。即:
/ S cript/script.php
/script/ S cript.php

4

3 回答 3

13

您需要使用 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>

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

于 2011-11-30T11:23:49.863 回答
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)。您是否愿意将项目中的所有文件重命名为小写?

于 2010-02-16T05:30:08.340 回答
2

UNIX 服务器区分大小写——它们区分文件名和文件夹名中的大写和小写字母。因此,如果您将网站从 Windows 移动到 UNIX 服务器(例如,当您更改网络主机时),您可能会遇到一定数量的“找不到页面”错误(404 错误),因为目录和其他网站链接到您的有时会弄错大小写(通常以大写形式写文件夹名称的第一个字母等)。这个基于 javascript 的自定义 404 错误页面通过将 URL 转换为小写来解决问题。

您可以从http://www.forbrugerportalen.dk/sider/404casescript.js获取脚本

编码快乐!!!!!!!

于 2010-02-16T05:17:25.303 回答