1

開発から生産に移行したばかりです。ルーティングが本番環境で機能していないことに気付きました。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);

URL経由でコントローラーとそれぞれのアクションにアクセスできます。

私が見逃している重要なものはありますか?

皆さんありがとう。

4

1 に答える 1

1

大文字と小文字を区別する問題のようです

ルーティング コード スニペットで、変更された

リストからリストへのリストは、アプリを機能させる

于 2014-11-08T02:13:26.277 に答える