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了,求解
谢谢诸位

阅读 4.3k
2 个回答

找到问题了,当时配置服务器404的时候,访问不存在的PHP文件提示file not found
所以在nginx.conf的server中添加了
fastcgi_intercept_errors on;
这是导致以上问题的原因

  • 首先,确定你的本地环境文件名是否区分大小写

  • 如果本地开发环境为Windows或者MacOS的话,一般而言是文件名的大小写问题

  • 其中,libraries目录中的库文件名首字母需要大写,首字母后需要小写,和文件里面类名保持一致

  • 另外,你查看一下服务器上面是不是修改了router.php配置中的$route['404_override'],这个会将不存在的地址强制报错404

  • 另外,需要看一下服务器上的伪静态配置是否有差别

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题