codeigniter在nginx 下支持pathinfo和去除index.php的方法

as今天准备把网站搬迁到nginx上发现codeigniter框架在nginx上不能使用,后来发现是nginx不支持pathinfo,下面介绍怎么在nginx下开启pathinfo

开始pathinfo支持

location ~ \.php{
        fastcgi_pass 127.0.0.1:9001;
        fastcgi_index index.php;
        ##########################################pathinfo 模式
        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$"){
            set $real_script_name $1;
            set $path_info $2;
        }
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        ##########################################nginx支持pathinfo 模式的重点    
}      

去掉路径中的index.php

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。