httpd.conf para serviço de arquivo sem distinção entre maiúsculas e minúsculas

httpd.conf para serviço de arquivo sem distinção entre maiúsculas e minúsculas

Sou um completo novato no que diz respeito ao gerenciamento do Apache, então me desculpe se estou formulando algo incorretamente.

Eu tenho um site - digamos, http://domain.com. O problema é que quando tento abrir http://domain.com/index.htmlem um navegador web ele exibe a página, mas quando tento acessar http://domain.com/Index.html(note I maiúsculo), ele responde com HTTP 404.

Como configuro o Apache para servir esses dois arquivos (e diretórios, nesse caso) sem distinção entre maiúsculas e minúsculas? Atual httpd.conféaqui.

EDITAR Dan C., obrigado por uma dica. Basicamente, quero permitir que os usuários baixem arquivos do meu servidor e não quero que eles saibam disso Index.htmle index.htmlque sejam de fato diferentes.

Também estou muito disposto a saber quais são as ramificações desta decisão.

Responder1

A primeira coisa que vem à mente émod_rewrite, que já está carregado em sua configuração.

Supondo que todos os seus arquivos estejam em letras minúsculas (isso pode ser uma suposição perigosa):

RewriteEngine On

RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^(.*)$ ${tolower:$1} 

Responder2

Se você estiver executando o Apache em um servidor Linux, o problema é que ele usa o sistema de arquivos Linux subjacente que diferencia maiúsculas de minúsculas, você pode consultar ReWrite conforme mencionado por matt.

Outra opção é o módulo mod_speling (sim, é um L) para apache, mencionado >aqui<mas acho que isso procurará apenas um erro de ortografia e também poderá retardar o acesso se houver muitos arquivos em um diretório

espero que ajude

Responder3

Realmente não funciona com httpd.conf. Como dito, o problema é que o sistema de arquivos Linux em que você está faz distinção entre maiúsculas e minúsculas.

Conheço um método que funciona com certeza: coloque seu aplicativo da web em /opt/www/yourapplication

Em seguida, faça um compartilhamento SMB de /opt/www apenas para localhost

então monte o compartilhamento do Samba em /var/www

O Samba é para compartilhamentos do Windows, e os compartilhamentos do Windows não diferenciam maiúsculas de minúsculas, então o Samba cuidará da distinção entre maiúsculas e minúsculas para você, tornando tudo em MINÚSCULAS internamente.

informação relacionada