在apache下訪問index.php/welcome/index能夠吧index.php后面的部分作為參數(shù)傳遞給index.php文件,CI框架解析后會(huì)去調(diào)用Welcome控制器下的index方法。
但是在nginx下會(huì)當(dāng)把index.php作為目錄名而不是文件名,所以會(huì)報(bào)404 Not Found
我的解決方法是通過url重寫來實(shí)現(xiàn),重寫規(guī)則如下:
# 保留index.php入口文件
if (!-e $request_filename) {
rewrite ^index.php/(.*)$ /index.php?$1
}
# 隱藏index.php入口文件
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?$1
}