1

メイン ドメイン (sitename.org/projectname) のサブフォルダーに必要なプロジェクトがあります。nginx 1.2.0 を使用した cakephp 1.3 プロジェクトです。私は2日間の大半をグーグルで検索し、オンラインで解決策を試してきました。最終的には、サブフォルダーとしてさらに多くのプロジェクトを追加し、それぞれに独自のルートがあります。

まず、サイトがルート ドメインに配置されている場合の作業構成。

server {
listen   80;
server_name sitename.org

    location / {
            root /export/home/sitename.org/projectname/app/webroot;
            index index.php index.html index.htm;
            try_files $uri $uri/ /index.php?$uri&$args;

             location ~ .*\.php$ {
                    include /etc/nginx/fastcgi_params;
                     fastcgi_pass 127.0.0.1:9000;
                     fastcgi_index index.php;
                     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            }


    }

}

私が作業しようとしているのは、場所がサブフォルダー (sitename.org/projectname) の場合です。try_files と fastcgi でさまざまな構成を試しましたが、通常は「入力ファイルが指定されていません」という結果になります。別名、私の設定が間違っています。

ヒントをいただければ幸いです。

4

1 に答える 1

3

ルートをより高いディレクトリに変更し、パスを書き換えることを組み合わせて、私の答えを見つけました。これが同様の状況に遭遇する他の人に役立つことを願っています。

location /projectname {
            root /export/home/sitename.org/;
            index index.php index.html index.htm;
            rewrite ^/projectname/(.*)$ /projectname/app/webroot/$1 break;
            try_files $uri $uri/ /projectname/app/webroot/index.php?q=$uri&$args;

            location ~ .*\.php$ {
                    include /etc/nginx/fastcgi_params;
                     fastcgi_pass 127.0.0.1:9000;
                     fastcgi_index index.php;
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            }
于 2012-11-09T18:00:47.923 に答える