lanwilliam 发表于 2016-6-23 16:39:34

测试项目发布到CentOS后,访问报404错误

刚刚学习CI框架,写了一个demo,在windows开发环境下测试正常。windows10 apache+php7 zendStudio开发
搭建了一个CentOS7的虚拟机,部署了httpd和php5.4的环境,写了测试的helloword页面,环境没问题,本地浏览器能够正常访问。
将demo项目文件夹Test上传到httpd的发布目录var/www/html目录下后,浏览器访问:http://192.168.1.5/Test报404错误。Test/index.php同样404.
在Test目录下放了一个hello.php文件,浏览器访问:http://192.168.1.5/Test/hello.php能够正常打开。
感觉是路由出了问题。
由于刚刚学习CI框架,没有使用任何特殊设置,没有使用urlrewrite等功能。
测试demo是网上学习的,地址:http://www.softeng.cn/?p=53
项目名改成了Test,其他一样。
由于windows环境运行正常,linux和php还有ci都在学习中,感觉无从下手,希望高手指点迷津。
谢谢。

梦想杀死 发表于 2016-6-23 16:41:49

base_url 设置对了吗

lanwilliam 发表于 2016-6-24 09:31:45

解决了,是文件名大小写问题导致的。
我之前是按照说明,php页面文件名小写,类名首字母大写。
windows下没问题。
但是linux严格区分大小写,导致404错误。
把Controller的php文件改成和类名一样,首字母大写后,可以打开。
然后发现model找不到。结果把model的php文件改成首字母大写后系统可以运行。
最终发现,load-》model的时候,需要完全小写
但是对应的model和Controller的php文件却要大写。
最后测试了一下view,发现view只要load的时候,与view页面文件名一样,就可以。
感觉真的很诡异,为啥会有这样的问题,是CI3.06版本问题还是什么。听无语。

lanwilliam 发表于 2016-6-24 09:33:23

http://codeigniter.org.cn/forums/thread-9941-1-1.html
话说这个连接坑了我
页: [1]
查看完整版本: 测试项目发布到CentOS后,访问报404错误