ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    NginxでCodeIgniterのRewriteルールを設定

    このエントリーを含むはてなブックマーク はてなブックマーク - NginxでCodeIgniterのRewriteルールを設定 あとで読む
    CodeIgniterで作ったWebアプリをNginxで動かす場合、ApacheのRewrite設定が使えません。
    NginxのRewrite設定は、どうやったらいいでしょうか?

    「nginx codeigniter rewrite」というキーワードで検索したら、参考になる設定例がいろいろ紹介されていました。

    (参考)Nginx で CodeIgniter を動かす | memo.dogmap.jp

    ・Nginxの設定ファイルを開く

    # vi /usr/local/nginx/conf/nginx.conf


    =「nginx.conf」にWebサイトの設定を記述している場合。
    =もし、バーチャルホスト等で、別ファイルに設定内容を切り出している場合は、そちらのファイルを開く。

    ・CodeIgniter用のRewriteルールを追加
    server {
    listen 80;
    server_name _;
    root /path/to/codeigniter;
    index index.php index.html index.htm;
    charset utf-8;

    location / {
    if (-f $request_filename) {
    expires 30d;
    break;
    }
    if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?q=$1 last;
    }
    }

    location ~ application/.* { deny all; }
    location ~ system/.* { deny all; }
    location ~ /\.ht { deny all; }

    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_intercept_errors on;
    include fastcgi_params;
    }
    }


    ・Nginx設定ファイルの文法チェック

    # /usr/local/nginx/sbin/nginx -t



    ・Nginxを再起動する

    # service nginx restart




    ●NginxのRewrite
    肝は、「rewrite」の行ですね。
    ・「if (-f $request_filename)」で、実在するファイル名だったら、直接アクセスさせる。
    ・「if (!-e $request_filename)」で、アクセスしたいファイル名が実在しない場合は、リライトでURLを書き換える。
    ・直接アクセスさせたくない部分(フレームワークのコアファイル等)=「application」「system」「.htaccess」はアクセス禁止にしておく。

    これでバッチリ、CodeIgniterが動きました!(・∀・)

    有益な情報提供どうもありがとうございます。m(__)m

    ハイパフォーマンスHTTPサーバ Nginx入門
    Clement Nedelcu
    アスキー・メディアワークス
    2011-04-21

    ★★★★★

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/835-67af220a

    FC2Ad