CI引入不存在的文件提示404
CI项目
本地环境和服务器环境一致:
nginx/1.10.3
php-7.1.3
mysql-5.6.32
症状是这样的:
在CI的控制器方法中,$this->load->library()或者require不存在的文件
本地会报错,然而在服务器端却提示404
如果是CI配置的问题,在本地为什么是好的
如果是服务器配置的问题,那么我在服务器新建一个文件,require不存在的文件仍然会提示错误
query_strings访问方式
如:index.php?c=Content&a=lists&action=article
这俩在一起就404了,求解
谢谢诸位
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
找到问题了,当时配置服务器404的时候,访问不存在的PHP文件提示file not found
所以在nginx.conf的server中添加了
fastcgi_intercept_errors on;
这是导致以上问题的原因
首先,确定你的本地环境文件名是否区分大小写
如果本地开发环境为Windows或者MacOS的话,一般而言是文件名的大小写问题
其中,libraries目录中的库文件名首字母需要大写,首字母后需要小写,和文件里面类名保持一致
另外,你查看一下服务器上面是不是修改了
router.php
配置中的$route['404_override']
,这个会将不存在的地址强制报错404另外,需要看一下服务器上的伪静态配置是否有差别