Chamar URL em minúsculo: Funciona, mas não é viável alterar o sistema por completo e ainda cair numa situação onde o usuário possa digitar a url com maiúsculo.
Alterar arquivo .HTACCESS: Pelos tutoriais que encontrei você precisa ter acesso ao http.conf para habilitar "RewriteMap lc int:tolower" e depois fazer a regra de reescrita, visto que no meu servidor só tenho acesso ao .htaccess isso não me resolveu.
Alterar o Loader do HMVC: Tentei, mas não consegui encontrar um ponto de entrada genérico onde eu conseguisse converter a URL base para minúsculo antes de fazer as chamadas padrão da classe.
Alterar a variável $_SERVER['REQUEST_URI']: Tenho até vergonha de expor isso, mas sim cheguei nesse ponto como último recurso e gambiarras a parte funcionou, na primeira linha do index.php padrão do CI adicionei: $_SERVER['REQUEST_URI'] = strtolower($_SERVER['REQUEST_URI']); e para minha surpresa funcionou.
A: Apesar de conseguir resolver meu problema, não acredito ser boas práticas alterar a variável $_SERVER, como consigo modificar o MX_Loader para que ele torne-se definitivamente Case Insensitive?
B: A documentação do HMVC não é muito clara no padrão de nomenclatura dos arquivos, como eles estruturam a pasta 'modules', a minha estrutura de pastas está assim:
Pode ser que esteja nomeando os arquivos de forma incorreta e por isso gerou o problema da pergunta A por este motivo achei relevante colocar a pergunta B também.
Por acaso, os nomes das pastas Controllers, Models e Views não deveriam ser minusculas? – Marcelo Diniz 22/03/17 às 21:23
No mvc padrão do CI sim, não me recordo no HMVC, parei de usa-lo, pois encontrei outra forma de trabalhar com os modulos do meu sistema, mas obrigado pelo apoio – Paulo Lima 23/03/17 às 11:33
Já tive problemas relacionado, só que com nomeação de arquivos, No windows muitas vezes quando se nomeia o arquivo com Primeira letra em caixa alta ele simplesmente não considera, fazendo com que ao subir este mesmo arquivo para um servidor linux fique com caixa baixa. Porém o linux leva em consideração, pois o mesmo considera os arquivo em case sensitive.
No Windows existem "códigos" que estão lá somente para facilitar a vida de algum tipo de usuário iniciante, visto que como muitos esquecem a Caps Lock ligada, milhares de reclamações seriam feitas, pois a grande maioria dos programas não funcionaria , pois que o sistema diferenciaria UpperCase de LowerCase.
Resumo final: Dê uma olhada nos arquivo que estão em seu servidor linux, e verifique se eles estão mesmo com a primeira letra em caixa alta.
Esse não é meu problema, chequei isso no servidor linux e ta tudo de acordo, o caso são os controles de rota do plugin hmvc, por exemplo no CI original usando (:?) se não me engano, ele aceita rota case insensitive, mas no hmvc não. – Paulo Lima 20/05/16 às 22:27