.htaccess or other URL Case Sensitive

后端 未结 3 833
天涯浪人
天涯浪人 2020-12-17 06:56

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:

相关标签:
3条回答
  • 2020-12-17 07:47

    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?

    0 讨论(0)
  • 2020-12-17 07:47

    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

    0 讨论(0)
  • 2020-12-17 07:57

    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 讨论(0)
提交回复
热议问题