2014-11-06 122 views
1

我刚刚从开发转移到生产。我意识到我的路由在生产环境中不起作用。我正在使用LEMP堆栈。Phalcon路由不能在Nginx工作

任何人都可以引导我在正确的方向吗?

这是我的nginx配置。

server { 

listen 80; 
server_name localhost; 
charset utf-8; 
index index.php index.html index.htm; 
set $root_path '/usr/share/nginx/ppl/public'; 
root $root_path; 

try_files $uri $uri/ @rewrite; 

location @rewrite { 
    rewrite ^/(.*)$ /index.php?_url=/$1; 
} 

location ~ \.php { 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index /index.php; 
    #fastcgi_pass 127.0.0.1:9000; 
    include /etc/nginx/fastcgi_params; 

    fastcgi_split_path_info  ^(.+\.php)(/.+)$; 
    fastcgi_param PATH_INFO  $fastcgi_path_info; 
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { 
    root $root_path; 
} 

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

这是我的路由代码片段。

$di->set('router', function() { $router = new Router(); 

$router->add(
    '/list/([0-9]+)/([a-z0-9\-]+)', 
    array(
     'controller' => 'Listing', 
     'action'  => 'detailed', 
     'id' => 1, 
     'title' => 2 

    ) 
); 
$router->add('/', array(
    'controller' => 'Listing', 
    'action' => 'home' 
)); 

$router->removeExtraSlashes(true); 
return $router; 
},true); 

我能够通过url访问控制器和相应的操作。

有什么重要的,我失踪了?

谢谢大家。

回答

1

似乎是区分大小写的问题

在路由代码片段,改变

上市到上市使得应用工作