2010-02-16 16 views
2

Mon serveur est sensible à la casse, et je voudrais le transformer en inSensitive.
Exemple de ce que je veux dire est
Disons que je télécharger Fruit.php
Et bien aller à ce fichier wont work:
www.website.com/fruit.php
mais celui-ci:
www.website.com/Fruit.php

Y a-t-il un moyen pour que Fruit.php et fruit.php fonctionnent? aussi avec les répertoires. à savoir:
/S cript/script.php
/script/S cript.php
.htaccess ou autre URL Case Sensitive

+0

Veuillez accepter les réponses correctes à vos questions précédentes, cela donnera à ces personnes un petit bonus de réputation pour leur temps et informera les autres que la question a été résolue. – nortron

Répondre

5

La sensibilité à la casse dépend du système de fichiers, pas d'Apache. Il existe cependant une solution partielle. mod_rewrite peut forcer tout en minuscules (ou majuscule) comme ceci:

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

Référence: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap

Malheureusement, cela ne fonctionne que si tous vos fichiers sont en minuscules, alors que vous spécifie les noms de fichiers cas mixtes (Fruit.php. Etes-vous à l'aise pour renommer tous les fichiers de votre projet en minuscules?

2

serveurs UNIX sont sensibles à la casse - ils établissent une distinction entre les lettres majuscules et minuscules dans les noms de fichiers et les noms de dossiers. Donc, si vous déplacez votre site Web d'une fenêtre vers un serveur UNIX (lorsque vous changez d'hébergeur par exemple), vous risquez d'obtenir une certaine quantité d'erreurs "Page not found" (404 erreurs), car les répertoires et autres sites Web Les vôtres ont parfois des erreurs (typiquement en écrivant la première lettre des noms de dossier en majuscules, etc.). Cette page d'erreur 404 personnalisée basée sur javascript résout le problème en convertissant les URL en minuscules.

Vous pouvez obtenir le script de http://www.forbrugerportalen.dk/sider/404casescript.js

Bonne codage !!!!!!!

11

Vous devez utiliser le mod_speling (sic) module apache:

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

Dans .htaccess

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

L'opérateur CheckSpelling fait Apache effectue un effort plus impliqué pour trouver une correspondance par exemple corriger les fautes d'orthographe courantes

+0

Solution la plus simple. Pourquoi ça n'a pas été voté? – noob

+0

@Creator: mod_speling n'est généralement pas activé par défaut, plus est rapporté pour porter un coup de performance décent. –

+0

Oui, je l'ai utilisé et face à une augmentation du temps de chargement. Un moyen d'améliorer la performance en utilisant cela? – noob