.htaccess или другой URL-адрес с учетом регистра

Мой сервер чувствителен к регистру, и я хотел бы сделать его нечувствительным.
Пример того, что я имею в виду,
скажем, я загружаю Fruit.php
Ну, тогда переход к этому файлу не будет работать:
www .website.com/fruit.php
но этот будет:
www.website.com/Fruit.php

Есть ли способ, чтобы Fruit.php и Fruit.php будет работать? также с каталогами. то есть:
/Script/script.php
/script/Script.php


person Joseph Robidoux    schedule 16.02.2010    source источник
comment
Пожалуйста, примите правильные ответы на ваши предыдущие вопросы, это даст этим людям небольшой бонус к репутации за их время и даст другим знать, что вопрос был решен.   -  person nortron    schedule 16.02.2010


Ответы (3)


Чувствительность к регистру зависит от файловой системы, а не от Apache. Однако есть частичное решение. mod_rewrite может привести все к нижнему (или верхнему) регистру следующим образом:

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

Ссылка: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap

К сожалению, это работает, только если все ваши файлы в нижнем регистре, а вы указываете имена файлов в смешанном регистре (Fruit.php). Вам удобно переименовывать все файлы в вашем проекте в нижний регистр?

person olooney    schedule 16.02.2010

Вам нужно использовать модуль apache mod_speling (sic):

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

В .htaccess

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

Оперативность CheckSpelling заставляет Apache выполнять более сложные действия, чтобы найти совпадение, например. исправление типичных орфографических ошибок

person James P McGrath    schedule 30.11.2011
comment
@Creator: mod_speling обычно не включен по умолчанию, плюс, как сообщается, имеет приличный удар по производительности. - person James M. Greene; 22.07.2013
comment
Да, я использовал его и столкнулся с увеличением времени загрузки. Любой способ улучшить производительность с помощью этого? - person noob; 23.07.2013

UNIX-серверы чувствительны к регистру — они различают прописные и строчные буквы в именах файлов и папок. Поэтому, если вы переместите свой веб-сайт с Windows на UNIX-сервер (например, при смене веб-хостинга), вы рискуете получить определенное количество ошибок «Страница не найдена» (ошибки 404), потому что каталоги и другие веб-сайты ссылаются на ваши иногда ошибаются в регистрах (обычно пишут первую букву имени папки в верхнем регистре и т. д.). Эта настраиваемая страница с ошибкой 404 на основе javascript решает проблему путем преобразования URL-адресов в нижний регистр.

Вы можете получить сценарий с http://www.forbrugerportalen.dk/sider/404casescript.js< /а>

Удачного кодирования !!!!!!!

person Ravia    schedule 16.02.2010