本地环境:windows
云服务器环境:centos
遇到的问题:
在本地环境能正常访问。但部署到云服务器就访问不了!
原因:
1.云服务器的apache版本是2.2,应该要让 apache 支持 PATH_INFO
2.在windows下,CI对model里的文件命名规则没有严格的要求,但在linux下是有严格的要求!如(Admincon—> 不能写成AdminCon);
3.项目的控制器放在二级目录下
解决方法:
(原因1)
方法1:
在PHP安装文件夹下找到PHP.ini,将
;cgi.fix_pathinfo=1
改为
cgi.fix_pathinfo=On
保存,重启服务器即可
方法2:
打开Apache安装文件夹下的conf文件夹,找到httpd.conf文件中找到这段代码
<Directory>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
AcceptPathInfo On //加入这行代码
</Directory>
方法3:
打开Apache安装文件夹下的conf文件夹,打开httpd.conf文件加入如下代码
<Files *.php>
AcceptPathInfo On
</Files>
方法4:
打开Apache安装文件夹下的conf文件夹,找到httpd.conf文件中找到这段代码
#LoadModule rewrite_module modules/mod_rewrite.so
改为(将#号删掉即可)
LoadModule rewrite_module modules/mod_rewrite.so
(原因2)
将models下的所有文件名字统一按Ci的规则来写(Admincon)
(原因3)
(傻瓜式:将项目的控制器放在根目录下)
暂未找到很好的解决方法,如果有大神路过,请留下脚印,教教小弟如何解决