摘要:今天在把項(xiàng)目放到服務(wù)器上的時(shí)候,死活路由不到頁(yè)面,要么是,要么都是頁(yè)面,很煩。服務(wù)器環(huán)境位報(bào)錯(cuò)誤的原因原因是默認(rèn)不支持這種格式,當(dāng)你瀏覽器里輸入的時(shí)候,會(huì)認(rèn)為你要訪問目錄下的文件夾里的,所以會(huì)報(bào)錯(cuò)誤??刂破鞯奈募Q不能小寫。
今天在把ci項(xiàng)目放到服務(wù)器上的時(shí)候,死活路由不到頁(yè)面,要么是404,要么都是welcome頁(yè)面,很煩。到網(wǎng)上搜到一大堆方法,大多不全面或者不好使,有的干脆就一行代碼,我也是看不懂。剛剛弄了好幾個(gè)小時(shí),總算路由到頁(yè)面了。這里mark一下。服務(wù)器環(huán)境
Debian 9.0 64位 nginx 1.13.5 PHP/7.1.10 CodeIgniter 3.1.6nginx 報(bào)404錯(cuò)誤的原因
原因是默認(rèn)Nginx不支持pathinfo這種格式,當(dāng)你瀏覽器里輸入http:xxx.xxx.comindex.phppageshome的時(shí)候,Nginx會(huì)認(rèn)為你要訪問index.php目錄下的pages文件夾里的home,所以會(huì)報(bào)404 not found錯(cuò)誤。
解決方法解決方法就是修改nginx.conf文件,下面是我的配置:
location / { root html; index index.html index.htm; try_files $uri $uri/ /index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params; }
主要就是加了一行 try_files $uri $uri/ /index.php;具體的原理我也不是很懂,大致就是重定向之類的,懶得走進(jìn)科學(xué),反正我知道添加這一行,就好用了。
然后修改php支持pathinfo ,找到php的php.ini文件(可能在php安裝目錄的etc目錄也可能在lib文件夾下,看自己的配置),搜索:cgi.fix_pathinfo
將注釋放開,并置為1:cgi.fix_pathinfo=1
然后在CI的application 下的config/config.conf文件里修改三個(gè)參數(shù):
$config["base_url"] = "http://1.abc.com/"; $config["index_page"] = ""; $config["uri_protocol"] = "REQUEST_URI";
這三個(gè)參數(shù)比較關(guān)鍵,其中第一個(gè)是web根目錄對(duì)應(yīng)的域名 ,index_page要為”,不要為默認(rèn)值 ‘index.php’.
經(jīng)過以上設(shè)置就ok了,url地址里不需要寫index.php了。
然而在我的項(xiàng)目里,nginx路由雖然不報(bào)錯(cuò)了,但是ci還是報(bào)錯(cuò)404,最后發(fā)現(xiàn)是文件名大小寫的問題,真的很坑。
控制器的文件名稱不能小寫。
參考鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26007.html
摘要:最近用搞一個(gè)項(xiàng)目,不太熟悉,好不容易配置好了,記錄一下。以下為配置配置做如下修改配置之后重啟打開搞定 最近用codeigniter搞一個(gè)php項(xiàng)目,nginx不太熟悉,好不容易配置好了,記錄一下。以下為nginx配置 server { listen 9006; server_name localhost; root /...
摘要:前段時(shí)間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請(qǐng)了騰訊云學(xué)生機(jī),用的框架弄了一段時(shí)間。這個(gè)用戶既是不可登錄的操作系統(tǒng)用戶,也是數(shù)據(jù)庫(kù)用戶。設(shè)置數(shù)據(jù)庫(kù)用戶密碼為了能夠讓和數(shù)據(jù)庫(kù)相連接,需要設(shè)置數(shù)據(jù)庫(kù)用戶密碼。 打讀研之后,更加關(guān)注算法的學(xué)習(xí),Web開發(fā)這一塊便落下了,平時(shí)也通過微信公眾號(hào)關(guān)注了些,常常感慨,技術(shù)的更迭真是日新月異。 前段時(shí)間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請(qǐng)了騰訊云學(xué)生機(jī),用Python的Sc...
摘要:前段時(shí)間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請(qǐng)了騰訊云學(xué)生機(jī),用的框架弄了一段時(shí)間。這個(gè)用戶既是不可登錄的操作系統(tǒng)用戶,也是數(shù)據(jù)庫(kù)用戶。設(shè)置數(shù)據(jù)庫(kù)用戶密碼為了能夠讓和數(shù)據(jù)庫(kù)相連接,需要設(shè)置數(shù)據(jù)庫(kù)用戶密碼。 打讀研之后,更加關(guān)注算法的學(xué)習(xí),Web開發(fā)這一塊便落下了,平時(shí)也通過微信公眾號(hào)關(guān)注了些,常常感慨,技術(shù)的更迭真是日新月異。 前段時(shí)間為了抓取網(wǎng)絡(luò)文本數(shù)據(jù),申請(qǐng)了騰訊云學(xué)生機(jī),用Python的Sc...
摘要:行,判斷如果為空,那么返回默認(rèn)路由。行,把處理完畢后找到的返回。方法該方法是自動(dòng)按著約定規(guī)則去目錄去找路由的過程。此文可以轉(zhuǎn)載,但轉(zhuǎn)載前需要發(fā)郵件到進(jìn)行溝通,未溝通的均視作侵權(quán)。 前言 我個(gè)人覺得在當(dāng)前 MVC 流行的架構(gòu)下,要想去了解一個(gè)框架,或者是一個(gè)基于此架構(gòu)下的應(yīng)用程序,最好的入手方式就是先看路由,雖然路由不是 MVC 里的任何一個(gè),但是知道了路由的來(lái)龍去脈就知道了整個(gè)框架或者...
摘要:版本版本版本修改下的修改下的修改下的修改下的,為私有,不能作為表名方法不能刷新主鍵,否則會(huì)報(bào)錯(cuò)方法的模型,面向?qū)ο蟮逆準(zhǔn)綄懛ㄊ?,模塊為勾選,為勾選域名虛擬主機(jī)配置,添加到的最后打開激活在配置對(duì)應(yīng)好版本為文檔添加微軟的連接插件安裝擴(kuò) 1,PHP PHP版本5.3.3 Apache版本 2.1.5 MSSQL版本 2012 修改database.php下的$db[default][dbd...
閱讀 1049·2021-11-22 13:53
閱讀 1599·2021-11-17 09:33
閱讀 2401·2021-10-14 09:43
閱讀 2863·2021-09-01 11:41
閱讀 2280·2021-09-01 10:44
閱讀 2920·2021-08-31 09:39
閱讀 1457·2019-08-30 15:44
閱讀 1866·2019-08-30 13:02