博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeIgniter在nginx下的配置
阅读量:6983 次
发布时间:2019-06-27

本文共 1773 字,大约阅读时间需要 5 分钟。

今天在把ci项目放到服务器上的时候,死活路由不到页面,要么是404,要么都是welcome页面,很烦。到网上搜到一大堆方法,大多不全面或者不好使,有的干脆就一行代码,我也是看不懂。刚刚弄了好几个小时,总算路由到页面了。这里mark一下。服务器环境

Debian 9.0 64位nginx 1.13.5PHP/7.1.10CodeIgniter 3.1.6

nginx 报404错误的原因

原因是默认Nginx不支持pathinfo这种格式,当你浏览器里输入http:xxx.xxx.comindex.phppageshome的时候,Nginx会认为你要访问index.php目录下的pages文件夹里的home,所以会报404 not found错误。

解决方法

解决方法就是修改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;具体的原理我也不是很懂,大致就是重定向之类的,懒得走进科学,反正我知道添加这一行,就好用了。

然后修改php支持pathinfo ,找到php的php.ini文件(可能在php安装目录的etc目录也可能在lib文件夹下,看自己的配置),搜索:cgi.fix_pathinfo
将注释放开,并置为1:cgi.fix_pathinfo=1
然后在CI的application 下的config/config.conf文件里修改三个参数:

$config['base_url'] = 'http://1.abc.com/';$config['index_page'] = '';$config['uri_protocol']    = 'REQUEST_URI';

这三个参数比较关键,其中第一个是web根目录对应的域名 ,index_page要为”,不要为默认值 ‘index.php’.

经过以上设置就ok了,url地址里不需要写index.php了。

然而在我的项目里,nginx路由虽然不报错了,但是ci还是报错404,最后发现是文件名大小写的问题,真的很坑。

控制器的文件名称不能小写。

捕获.PNG

捕获ff.PNG

转载地址:http://zmtpl.baihongyu.com/

你可能感兴趣的文章
SQL Server配置delegation实现double-hop
查看>>
iOS开发之检查更新
查看>>
安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法。
查看>>
[.NET领域驱动设计实战系列]专题八:DDD案例:网上书店分布式消息队列和分布式缓存的实现...
查看>>
Icomparer和Icomparable集合排序
查看>>
【poi xlsx报错】使用POI创建xlsx无法打开
查看>>
UNIX环境高级编程笔记之文件I/O
查看>>
DIV+CSS规范命名
查看>>
4G U盘版64位bitcoin专用挖矿操作系统
查看>>
我的2013 Q.E.D
查看>>
2017 Multi-University Training Contest - Team 9 1002&&HDU 6162 Ch’s gift【树链部分+线段树】...
查看>>
4.5. Rspamd
查看>>
超级简单:在你的ASP.NET页面自定义列表和分页
查看>>
(原创)INTERVAL分区表与RANGE分区表相互转化
查看>>
ArcMap中的名称冲突问题
查看>>
(转) 一张图解AlphaGo原理及弱点
查看>>
AngularJS例子 ng-repeat遍历输出 通过js的splice方法删除当前行
查看>>
美联邦调查局 FBI 网站被黑,数千特工信息泄露
查看>>
掉电引起的ORA-1172错误解决过程(二)
查看>>
在网站建设过程中主要在哪几个方面为后期的网站优打好根基?
查看>>