我刚从开发转向生产。我意识到我的路由在生产环境中不起作用。我正在使用LEMP堆栈。
有人能引导我朝正确的方向前进吗?
这是我的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);
我可以通过网址访问控制器和相应的操作。
我缺少什么重要的东西?
谢谢大家。
答案 0 :(得分:1)
似乎是一个区分大小写的问题
在路由代码段中,更改了
列表列表使应用程序正常工作