Nginx中CI的重寫配置

網上大概搜索了下  說是

codeigniter的url rewrite也是使用pathinfo來實現的,需要藉助fastcgi_split_path_info來設置$_SERVER['PATHINFO']

至於具體的配置,還是得根據自己的實際環境來小做修改吧


這邊附上一份 我自己測試用的 server 配置

server
{
    listen    80;
    server_name   ci.test.com;
    root /jeen/html/citest;
        #排除一些目錄及文件 其他全部重寫到 index.php
    if ($request_uri !~* (^\/$|\/(favicon\.ico|css|js|page_err|p_w_picpaths|cache|chart|upload|plugin|staticFiles|pic|robots\.txt|index\.php)))
    {
        rewrite ^/(.*)$ /index.php/$1 break;
    }
    location ~ .*\.php?($|/)
    {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include        fastcgi.conf;
        set $script "/index.php";
        set $path_info "";
        if ($uri ~* "^\/(.+?\.php)(/.*)$")
        {
            set $script $1;
            set $path_info $2;
        }
        fastcgi_param SCRIPT_NAME /$script;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param SCRIPT_FILENAME    $document_root/$script;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|ico)$
    {
        access_log off;
        expires 30d;
    }
}


以上就是在測試過程中使用的咯

主要就是 server_name  和 root  以及 排除重寫的一些目錄和文件

ci.test.com 在hosts文件中添加相關的記錄就ok咯  這邊就不贅述了




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章