首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter 'default_controller‘不工作

问Codeigniter 'default_controller‘不工作
EN

Stack Overflow用户
提问于 2018-01-06 19:36:40
回答 1查看 104关注 0票数 0

浏览器在连接'base_url‘时显示许多重定向。

例如,当我输入"www.xxx.com“时,codeigniter显示错误!(到许多重定向)

但是我输入了"www.xxx.com/ login ",显示了登录控制页面!我怎么了..?我想看看默认控制器。但这不管用..。

这是我的codeigniter配置源。

代码语言:javascript
复制
    $config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
    $config['base_url'] .= "://" . $_SERVER['HTTP_HOST'];
    $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);

end这是我的codeigniter路由源。

代码语言:javascript
复制
    $route['default_controller'] = 'login';
    $route['404_override'] = 'error404';
    $route['translate_uri_dashes'] = FALSE;
    $route['assets/(:any)'] = 'assets/$1';

最后,这是我的codeigniter登录控制器源代码。

代码语言:javascript
复制
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Login extends CI_Controller
    {
        private $menu = "login";
        function __construct()
        {
            parent::__construct();
        }

        function index()
        {
            $data['menu'] = $this->menu;
            $this->load->view('include/header', $data);
            $this->load->view('login/login');
            $this->load->view('include/footer');
        }
        function register()
        {
            $data['menu'] = $this->menu;
            $this->load->view('include/header', $data);
            $this->load->view('login/register');
            $this->load->view('include/footer');
        }

    }

最后,这是我的.htaccess源代码。

代码语言:javascript
复制
    <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteBase /
     RewriteCond $1 !^(index\.php|images|assets|captcha|data|include|uploads|robots\.txt)
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule ^(.*)$ /index.php/$1 [L]
    </IfModule>

我不明白为什么default_controller不能工作!我指的是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-09 09:30:56

我真的很抱歉。所有的问题都从‘钩子’开始!我推荐了“Auth”钩子。但是,当我改变我的域名时,我没有编辑我的钩子。当编辑域名时,一切正常。!感谢您的评论。这真的是给我的建议。

这是我的'Auth.php‘<钩子!

代码语言:javascript
复制
<?php
class Auth {
    function check_login() {
    $CI =& get_instance();
    isset($CI->session) OR $CI->load->library('session');

    $CI->session->has_userdata('user_name') OR
    $CI->session->set_userdata('user_name', 'guest');

    $username = $CI->session->userdata('user_name');

    if(!(strpos(current_url(), "authentication")) && 
       !(current_url() === "http://my_domain.com") && 
       !(current_url() === "http://my_domain.com/"))
    { 
       if($username==='guest' && 
          !(isset($CI->allowed_method) && 
           in_array($CI->router->method, $CI->allowed_method)))
       {
            redirect("/");
       }
    }
 }
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48126949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档