A URL do Codeigniter funciona apenas para o roteador padrão

1

Instalei o Codeigniter no Nginx com essa configuração:

server {
listen       80;
server_name  myserver;

root /usr/share/nginx/html;
index index.php index.html index.htm;
error_log /var/log/nginx/localhost.error_log debug;
 location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
            expires max;
            log_not_found off;
    }
location / {
    try_files $uri $uri/ /index.php?/$request_uri;
        location = /index.php {

            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
            include        fastcgi_params;
        }
}

location ~ /\.ht {
    deny  all;
    }
}

eu também alterei a configuração no ceodeignigter desta maneira:

...
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
...

este é o meu controlador padrão:

<?php

class Index extends CI_Controller {
    public function __construct(){
            parent::__construct();
    }
    public function index(){
        $this->load->view('index');
    }
}

eu posso acessar meu Controlador padrão, o que eu defini no arquivo router.php, mas não consigo acessar outros Controladores ainda. qualquer ajuda seria apreciar.

    
por OnlyMAJ 24.03.2014 / 09:46

1 resposta

0

eu uso

location / {
  try_files $uri $uri/ /index.php;
}

e funciona. Você também pode adicionar

try_files /index.php$request_uri;

no final. Não há ? depois de index.php no CI.

    
por 24.03.2014 / 11:03