我在生产服务器上有一个系统,希望在本地进行仿真以更新它,但是以前的程序员使用了一种奇怪的体系结构。在第一个...内部有一个代码点火器体系结构。
在本地计算机上进行模拟非常有趣,因为所有路径都是绝对的,yeepee。
所以目前,它在我的本地主机上,已正确配置,但是当我尝试登录时,页面会重新加载。我发现调用了控制器登录名的方法登录名(所以kanri/login/login
)被调用,但始终被路由到kanri/login/index
。
在索引页面上,只有一种形式可以重定向到kanri/login/login
方法,因此即使是简单的重定向也无法使用。
kanri / route.php文件:
defined('BASEPATH') OR exit('No direct script access allowed');
$route['default_controller'] = 'login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
.htaccess的主要内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^kanri(/(.*))?$ kanri.php?/$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user(/(.*))?$ user.php?/$2 [L]
</IfModule>
MY_Controller:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
if($this->session->userdata('flag_admin_login')===FALSE || empty($this->session->userdata('flag_admin_login'))){
//print "***".$this->session->userdata('member_id')."!!!!!";
redirect('/', 'refresh');
}
}
}
我的登录控制器:
class Login extends CI_Controller {
public function __construct()
{
parent::__construct();
echo $this->router->fetch_class() . "<br/>"; // display the controller
echo $this->router->fetch_method() . "<br/>"; //display the method
}
public function index(){
//all code commented
}
public function login(){
//all code commented
}
}
我还有很多工作要做,但我仍然坚持不懈... 谢谢您的宝贵时间!
答案 0 :(得分:0)
解决方案非常简单...
$config['uri_protocol'] = 'REQUEST_URI';
$config['enable_query_strings'] = FALSE;