日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php框架 > codeigniter > codeigniter在nginx下控制器404錯(cuò)誤

codeigniter在nginx下控制器404錯(cuò)誤

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-09-26 17:56:33 閱讀次數(shù):6187次

本文章并非原創(chuàng),是收集網(wǎng)友的解決辦法。


1.。。。。。

經(jīng)查詢資料發(fā)現(xiàn)nginx不支持path_info 

解決的辦法:

修改配置文件nginx.config

location ~ .php($|/) { root /usr/local/website; set $script $uri; set $path_info ""; if ($uri ~ "^(.+.php)(/.+)") { set $script $1; set $path_info $2; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$script; fastcgi_param SCRIPT_NAME $script; }

除了root以外,別的需要一樣,特別是location ~ .php($|/)


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.。。。。。。。。。。

nginx版本:1.2.1 codeigniter:2.1.2
nginx需要增加以下:

location ~ .php { #root ; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_index index.php; set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_NAME $real_script_name; #fastcgi_param SCRIPT_FILENAME $real_script_name; #fastcgi_param REQUEST_URI $real_script_name; }


注意:
1.是~.php而不是~.php$
2.include fastcgi_params需要放在特殊設(shè)置的變量之前
說(shuō)明:codeigniter內(nèi)部是根據(jù)SCRIPT_NAME和REQUEST_URI來(lái)識(shí)別controller和method的。
具體是根據(jù)REQUEST_URI-SCRIPTNAME,剩下的字符串作為directory/class/method的各個(gè)字段,以‘/’分割,
所以我們需要設(shè)置REQUEST_URI和SCRIPT_NAME
上述代碼片段是將url中的.php之前的作為SCRIPT_NAME,整個(gè)作為REQUEST_URI,

這樣codeigniter就可以正常識(shí)別了。



-----------

3.。。。。。。。。。

最近研究CI框架,發(fā)現(xiàn)這個(gè)框架的路由功能在Nginx下有問(wèn)題,報(bào)404錯(cuò)誤,后來(lái)在網(wǎng)上查資料,發(fā)現(xiàn)需要開(kāi)啟PATH_INFO。在nginx7.16以后貌似就支持PATH_INFO了,只需要在配置文件中開(kāi)啟即可。

打開(kāi)nginx.conf文件,在你的虛擬主機(jī)下增加重寫規(guī)則,代碼如下:

server { listen 80; server_name www.ci.com; location / { root d:/www/Codeigniter_2.0.1/; index index.html index.htm index.php; rewrite ^/$ /index.php last; rewrite ^/(?!index.php|robots.txt|images|js|styles)(.*)$ /index.php/$1 last; } location ~ ^(.+.php)(.*)$ { root D:/www/Codeigniter_2.0.1/; fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_pass 127.0.0.1:9002; include fastcgi_params; } }
4.。。。。。。。。。

還提供一個(gè)更簡(jiǎn)單的方法

   今天整了一下Nginx+CodeIgniter,發(fā)現(xiàn)不管你在 URL 里面寫什么都只是出現(xiàn)缺省頁(yè)面,后來(lái)想了一下Nginx不支持PATH_INFO變量,解決這個(gè)問(wèn)題的第一步是打開(kāi)application/config/config.php 文件,查找 URI Protocol 信息。在那里推薦你去嘗試一些其他的設(shè)置方法。如果這些方法都無(wú)效,你就需要讓 CodeIgniter 去強(qiáng)行加一個(gè)問(wèn)號(hào)去標(biāo)記你的 URL。為了做到這點(diǎn),打開(kāi)你的 application/config/config.php 文件把里面的:


1
$config['index_page'] = "index.php";


修改成:


1
$config['index_page'] = "index.php?";






5.。。。。。。。。

codeigniter(ci)在nginx下返回404的處理方法即codeigniter在nginx下配置方法

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生

------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 中文字幕在线免费观看视频 | 一区在线观看视频 | 在线国产区 | 动漫精品一区二区三区 | 日韩免费激情电影 | 亚洲国产精品一区二区久久 | 国内黄色精品 | 国产一区二区三区四区大秀 | 青青草这里只有精品 | 成人毛片在线观看视频 | 日本亚洲精品成人欧美一区 | 国产精品国产三级国产aⅴ中文 | 亚洲第一天堂av | 亚洲高清在线观看 | 日韩在线观看中文字幕 | 午夜网| 精品少妇一区二区 | 国产精品久久久久久久久久浪潮 | 国产不卡av在线 | 亚洲不卡视频 | 91精品中文字幕一区二区三区 | 亚洲欧美一区二区在线观看 | 黄色网zhan | 日韩一区在线播放 | 日韩欧美国产成人 | 在线黄色av| 日韩成人精品视频 | 国产精品成人一区二区三区夜夜夜 | 中文字幕一区三区 | 欧美国产激情 | 色婷婷一区二区三区 | 黄色网址av | 成人欧美一区二区 | 一区二区视频在线观看 | 日韩免费福利视频 | 黄色片s色 | 免费精品国产的网站免费观看 | 国产精品久久二区 | 91九色在线观看 | 亚洲婷婷六月 | 九色一区 |