▽1
●
tezcello ●500ポイント ![]() |
「やりたいこと」の本質は、Curry でルーティングするためにフロントのスクリプトに処理を渡したいという事だと思いますので、それに沿って回答します。
> /etc/nginx/sites-available/pro に以下を設定し
デフォルトではそこを読むようにはなっていませんよね?
/etc/nginx/nginx.conf の設定を変更されていると思いますが、どのように変更しているかでいろいろ変わってきてしまうのはお解りですよね?
とりあえず出来るだけデフォルトから変更しない方向で書いていきます。
CentOS 6.6 でサーバを minimam で構築します。
(Nginx をインストールするために)リポジトリ EPEL を追加します。
EPEL より Nginx をインストールします。
PHP, PHP-FPM をインストールします。
/etc/nginx/default.conf の名前を変更しておきます。
default.conf -> default.conf.bak
/etc/nginx/prot.conf を作成して以下を記述します。
server { index index.php; server_name example.com; root /usr/share/nginx/html; location /pro { if (!-e $request_filename) { rewrite ^/pro/(.*) /pro/curry.php last; } } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } }
Curry を完全にインストールするのは手間が掛かりそうなので、REQUEST_URI が取得できるかだけチェックします。
/usr/share/nginx/html/pro/index.php に以下を記述します。
<?php var_dump($_SERVER['REQUEST_URI']);
/etc/php-fpm.d/www.conf の動作するユーザ、グループを nginx に変更します。
PHP-FPM, Nginx を起動します。
ブラウザで http://example.com/pro/hoge0?a=1 にアクセスすれば以下の様に表示されると思います。
string(14) "/pro/hoge0?a=1"
ドキュメントルートをデフォルト以外に設置する場合は、SELinux のポリシーを適切に設定する必要があるのをお忘れなく。
__SELinux を止めてしまう解説ページが非常に多いのはいかがなモノか