Url com case sensitive

Fala galera, to tendo uns problemas com maiúsculas e minusculas na url, eu tenho um controler que se chama PostoTrocaController, no win7 ele funciona tanto para postoTroca quanto para postotroca na url, no entanto no servidor linux ele não rola minusculo, só com postoTroca.

já alterei o config e setei ‘caseSensitive’=>false, mas nada de resolver, alguém tem ideia.

Aguinelo,

Andei pesquisa na net, por que tive um problema com um cliente esta semana com os caseSensitive.

Todos falam que o problema é no WINDOWS, por que no LINUX file.html é diferente de FILE.html, e ninguem indica a desativação do ‘mod_speling’ pelo htaccess, tentei aqui desativar e não tem como, então seria melhor hoje, deixa todos os nome do Controller com letra minuscula.

Então seu PostoTrocaController() ficaria PostotrocaController().

Achei errado o caseSentitive do Yii que não funciona.

Só uma pergunta,

Eu gero os Controller pelo Gii, e quando tenho tabelas com underline(_), por exemplo o controller do Aguinelo (PostoTrocaController), com certeza o nome da tabela dele é posto_troca, o Gii ou Yii tinha que gerar o Controller com o T do Troca minusculo, sei que o Yii dá um explode() ou split() no nome da tabela, e assim ele capitaliza as palavras, mais caso o ‘caseSensitive’ estiver com false, ele tinha deixar em minusculo as próximas palavras.

Tem alguma correção ou alteração que possa ser feita? por que o Gii me adianta 50% do trabalho, na criação dos CRUD.

Olha ae meu problema:

Tenho o seguinte array de permissão:




[3] => Array

        (

            [0] => allow

            [controllers] => Array

                (

                    [0] => colunista_artigo

                )


            [actions] => Array

                (

                    [0] => index

                    [1] => create

                    [2] => update

                    [3] => delete

                )


            [users] => Array

                (

                    [0] => san7

                )


        )



Consigo acessar o actionIndex(), quando vou no actionCreate(), me retorna erro de permissão!

Quando removo o:




public function filters() {

        return array(

            'accessControl', // perform access control for CRUD operations

        );

    }



Funciona! Então deve ser permissão. Tudo isso por causa do caseSensitive. :(

EDIT

Erro:


Error 403

Você não está autorizado a realizar essa operação.

Nossa que função hehehe

Temos que ser persistente mesmo! Achei o erro.

Tive que debugar o /framework/web/auth/CAccessControlFilter.php, para ver o que estava acontecendo.

Como no array acima eu tinha permissão para o controller (colunista_artigo), porém a URL que eu acessava era admin/colunistaartigo.html eu acessava o ColunistaartigoController.php NORMAL, porém na permissão, ele verifica a URL com o array(), ai dava conflito com os nome da tabela, e bloqueava o acesso.

Soluções:

Alterei o Controller de:

ColunistaArtigoController.php para ColunistaartigoController.php.

Alterei todas as chamadas do ColunistaArtigo::model() para Colunistaartigo::model().

Alterei na permissão, o nome do controller de [colunista_artigo] para [colunistaartigo].

TODA essa função por causa do SENSITIVE do Linux.

É Newerton, bem provável que vou ter que alterar tudo isso tambem, não vai ter jeito.

Valew a força