用户
 找回密码
 入住 CI 中国社区
搜索
楼主: 萧然
收起左侧

[已解决] 为什么我的ci一直访问的是默认控制器???

[复制链接]
 楼主| 发表于 2016-10-12 09:56:29 | 显示全部楼层
燃雲 发表于 2016-10-12 04:58
除此以外,看看User有无index()。

LNMP还要看目录及文件的系统及Nginx访问权等等。

defined('BASEPATH') OR exit('No direct script access allowed');

class User extends CI_Controller {

   public function __construct()  
   {  
      parent::__construct();  
   }  

        public function index()
        {
                echo "hello ,everyone!";
        }
}
******************
有的,文件目录我直接设成777了
发表于 2016-10-12 10:44:21 | 显示全部楼层

你在index.php 第一行添加一句:
$_SERVER['SCRIPT_NAME'] = '/index.php';
试试,服务器配置方式问题,以前通过修改uri部分找到的问题,仅供参考。

根据你的二级目录你可以
$_SERVER['SCRIPT_NAME'] = '/play_ci/index.php';
发表于 2016-10-12 10:45:33 | 显示全部楼层
本帖最后由 alben_001 于 2016-10-12 11:16 编辑

主要是因为缺少server环境变量引起的

    [HTTP_HOST] => work.mading.cn
    [SERVER_NAME] => work.mading.cn
    [DOCUMENT_ROOT] => D:/xampp/htdocs/workspace/
    [CONTEXT_DOCUMENT_ROOT] => D:/xampp/htdocs/workspace/
    [SCRIPT_FILENAME] => D:/xampp/htdocs/workspace/zuowen/CodeIgniter-3.1.0/index.php
    [REQUEST_URI] => /zuowen/CodeIgniter-3.1.0/
    [SCRIPT_NAME] => /zuowen/CodeIgniter-3.1.0/index.php
    [PHP_SELF] => /zuowen/CodeIgniter-3.1.0/index.php

看看你的 server 和这几个参数有什么区别,然后给自己的项目手动添加server,查看是否可以解决问题,如果可以再调整nginx配置
发表于 2016-10-12 10:47:15 | 显示全部楼层
具体代码你可以找
system/core/URI.php  197行 _parse_request_uri 方法
发表于 2016-10-12 10:48:12 | 显示全部楼层
或者调整 nginx也行,我不会
 楼主| 发表于 2016-10-12 23:07:48 | 显示全部楼层
Hex 发表于 2016-10-11 23:52
你按照我给你的配置试试。

另外,控制器文件名也要首字母大写。

终于找到原因了,nginx不支持pathinfo ,配置一下就可以了
 楼主| 发表于 2016-10-12 23:08:38 | 显示全部楼层
alben_001 发表于 2016-10-12 10:48
或者调整 nginx也行,我不会

终于找到原因了,nginx不支持pathinfo ,配置一下就可以了,不过还是谢谢,你的帮助!
 楼主| 发表于 2016-10-12 23:09:10 | 显示全部楼层
Hex 发表于 2016-10-11 23:52
你按照我给你的配置试试。

另外,控制器文件名也要首字母大写。

谢谢你一直帮助!
 楼主| 发表于 2016-10-13 11:15:02 | 显示全部楼层

没开,现在开了,是可以的,很感谢
发表于 2017-2-22 13:17:34 | 显示全部楼层
萧然 发表于 2016-10-13 11:15
没开,现在开了,是可以的,很感谢

我的也不行,要怎么开的

本版积分规则