CodeIgniter在nginx下404 not found

CodeIgniter是一套轻量级php框架,最近在学习这套框架。php

从官网上下载了3.0版本配置在服务器上测试,个人配置环境是centos+nginx+php+mysql。html

我将CI配置到服务器后,发现默认控制器老是能够正常访问的,把默认控制器的指向改为其余控制器也均可以访问,可是用页面里的连接或者直接url里手动输入就会报404。mysql

查阅资料后才知道CI在nginx下运行是要配置一下,个人配置以下nginx

 server {
        listen       80;
        server_name  test;
        
        location / {
            index index.html index.php;root  
            /data/www/test;
        }   
        
         location ~ \.php($|/) {
            
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param   PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param    PATH_TRANSLATED    $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }   
        
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
            break;
        }  
        access_log  /usr/local/nginx/logs/test.platform.access.log;
        error_log  /usr/local/nginx/logs/test.platform.error.log;
    }

 如上修改server就能够正常运行了web

须要注意的地方:sql

location ~ \.php($|/) {
 一开始个人配置为:
location ~ \.php$ {  因此一直没有搞成功,这个问题折腾了好久,特此说明一下。
参考地址:http://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-rewrite.htmlhttp://haiker.iteye.com/blog/917413http://blog.csdn.net/ei__nino/article/details/8599304http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=11791http://qing.tiyee.net/post/2012-11-18/40041056531 (好东西,值得学习)
相关文章
相关标签/搜索