網上大概搜索了下 說是
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咯 這邊就不贅述了