CodeIgniter在nginx下404 not found
阿新 • • 發佈:2019-01-23
server { listen 80; server_name test.platform; charset utf8; root /data/www/platform/trunk; location / { index index.html index.php; } 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; }
修改nginx的server如上面,就ok了,該問題捯飭了一天,才搞定;
需要注意的地方:
location ~ \.php($|/) {
一開始我的配置為:
location ~ \.php$ { 所以一直沒有搞成功,這個問題折騰了很久,特此說明一下。
找到php的php.ini檔案(可能在php安裝目錄的etc目錄也可能在lib資料夾下,看自己的配置),搜尋:cgi.fix_pathinfo
將註釋放開,並置為1:cgi.fix_pathinfo=1
參考地址:
http://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-rewrite.html
http://haiker.iteye.com/blog/917413
http://blog.csdn.net/ei__nino/article/details/8599304
http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=11791
http://qing.tiyee.net/post/2012-11-18/40041056531 (好東西,值得學習)