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.
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.
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.
Tags nginx php-fpm codeigniter