浏览器在连接'base_url‘时显示许多重定向。
例如,当我输入"www.xxx.com“时,codeigniter显示错误!(到许多重定向)
但是我输入了"www.xxx.com/ login ",显示了登录控制页面!我怎么了..?我想看看默认控制器。但这不管用..。
这是我的codeigniter配置源。
$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路由源。
$route['default_controller'] = 'login';
$route['404_override'] = 'error404';
$route['translate_uri_dashes'] = FALSE;
$route['assets/(:any)'] = 'assets/$1';最后,这是我的codeigniter登录控制器源代码。
<?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源代码。
<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不能工作!我指的是什么?
发布于 2018-01-09 09:30:56
我真的很抱歉。所有的问题都从‘钩子’开始!我推荐了“Auth”钩子。但是,当我改变我的域名时,我没有编辑我的钩子。当编辑域名时,一切正常。!感谢您的评论。这真的是给我的建议。
这是我的'Auth.php‘<钩子!
<?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("/");
}
}
}
}
?>https://stackoverflow.com/questions/48126949
复制相似问题