0

Fuelphpへのnginx.confがあります

location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ index.php?/$1 last;
    }
}

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index  index.php;
    include        fastcgi.conf;
    include /etc/nginx/fastcgi_params;
}

しかし、これはtestfphp/public/welcome/helloでは機能しません

nginx は言う: ファイルが見つかりません

ありがとうございました。

4

1 に答える 1

0

それらを理解せずに、さまざまなハウツーのさまざまな部分を混ぜ合わせたようです。観察:

rewrite ^(.*)$ index.php?/$1 last; #question mark, typo?
location ~ \.php$ # matches end of request_uri
fastcgi_split_path_info ^(.+\.php)(/.+)$; # matches .php followed by a slash

一致する 3 番目のステートメント.phpは、request_uri の末尾にあることはないため、このステートメントはこの場所で一致することはありません。

最初のステートメントから疑問符を削除し、場所からドル記号を削除します。それから加えて:

fastcgi_param SCRIPT_FILENAME $document_root$ fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_split_pathinfo;

ロケーションブロックへ。ドキュメントから理解しようとし、ロケーション ブロックをさらに制限してみてください。

于 2013-07-16T16:51:35.070 に答える