解決由apache下CI框架的項(xiàng)目遷移到nginx下,出現(xiàn)404的問題

codeigniter(CI)是一個(gè)輕量型的PHP優(yōu)秀框架,但是它是在apache服務(wù)器下開發(fā)的,在nginx下需要特別的配置才可以使用。

第一,對(duì)application/config/config.php進(jìn)行修改,大約在48行左右。

修改為 $config['uri_protocol'] = 'PATH_INFO';

第二,修改nginx配置

server {

? ? ? ? listen? ? ? 80;

? ? ? ? listen [::]:80 ipv6only=on;

? ? ? ? server_name? www.example.com;

? ? ? ? root? /data/www/www.example.com;

? ? ? ? index index.php? index.html index.htm;

? ? ? ? location / {

? ? ? ? ? ? ? ? # 這里使用try_files進(jìn)行url重寫,不用rewrite了。

? ? ? ? ? ? ? ? try_files $uri $uri/ /index.php?$query_string;

? ? ? ? }

? ? ? ? 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;

? ? ? ? ? ? include? ? ? ? fastcgi_params;

? ? ? ? }

? ? ? ? location ~ /\.ht {

? ? ? ? ? ? ? ? deny? all;

? ? ? ? }

}

要特別注意19行的include fastcgi_params;,如果沒有這一行,那么你的PHP程序會(huì)無法運(yùn)行的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容