开发者

.htaccess or other URL Case Sensitive

My server is Case Sensitive, and id like to turn it to inSensitive.

Example of what I mean is

lets say I upload Fruit.php

Well then going to this file wont work:

www.website.com/fruit.php

but this one will:

www.website.com/Fruit.php

Is there a 开发者_如何学Cway so Fruit.php and fruit.php will work? also with the directories. i.e:

/Script/script.php

/script/Script.php


You need to use the mod_speling (sic) apache module:

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

In .htaccess

<IfModule mod_speling.c>
  CheckCaseOnly On
  CheckSpelling On
</IfModule>

The CheckSpelling operative makes Apache perform a more involved effort to find a match e.g. correcting common spelling mistakes


Case sensitivity depends on the file system, not Apache. There is a partial solution, however. mod_rewrite can coerce everything to lowercase (or uppercase) like so:

RewriteMap tolowercase int:tolower 
RewriteRule ^(.*)$ ${tolowercase:$1}

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

Unfortunately, this only works if all your files are lowercase, while you specifies mixed case filenames (Fruit.php.) Are you comfortable renaming all the files in your project lowercase?


UNIX-servers are case-sensitive - they distinguish between upper-case and lowercase letters in file names and folder names. So if you move your website from a windows to a UNIX-server (when you change web host for instance), you risk getting a certain amount of "Page not found"-errors (404 errors), because directories and other websites linking to yours sometimes get the cases wrong (typically writing the first letter of folder names in upper-case etc.). This javascript-based custom 404-error page solves the problem by converting URL's into lowercase.

You can get the script from http://www.forbrugerportalen.dk/sider/404casescript.js

Happy coding !!!!!!!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜