Codeigniter URI路由无法正常工作404错误

时间:2016-07-23 17:07:36

标签: codeigniter codeigniter-3

我的观点是: -

<li class="">
  <a class="" href="<?php echo base_url(); ?>Login"> 
  <i class="fa fa-unlock-alt"></i>&nbsp;Login </a>
</li>

我的登录控制器

class Login extends CI_Controller {
    public function __construct(){
        parent::__construct();
    }
    public function index()
    {
         $this->load->view('login');
    }
}

当我点击链接时,它表示找不到404页面。 但是当手动编辑链接并写 /index.php/Login 时,它工作正常。如何解决这个问题...

5 个答案:

答案 0 :(得分:1)

您必须再使用3个步骤:

  1. 在项目根目录上创建.htaccess文件(在项目文件夹“/ project”或域根目录下)
  2. .htaccess文件上插入以下代码行。

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L]

    1. 查找config / congig.php文件并将此行更改为 -
    2. *在我的情况下添加基本网址:

      $config['base_url'] = 'http://localhost/cirest.dev/';(分配您的项目路径/网址)

      $config['index_page'] = 'index.php';$config['index_page'] = '';

      1. 将此HTML添加到您的视图中:
      2. <li>

        <a href="<?php echo base_url('login'); ?>">

        <i class="fa fa-unlock-alt"></i>&nbsp;Login </a>

        </li>

        我认为它会起作用。 :)

答案 1 :(得分:0)

尝试site_url()代替base_url()

<a class="" href="<?php echo site_url(); ?>Login">

答案 2 :(得分:0)

首先,您应该在 config / routes.php 中正确定义网址:

$route['login'] = 'login/index';

然后您可以在带有 site_url()功能的模板中使用此路线:

<li>
  <a href="<?php echo site_url('login'); ?>"> 
  <i class="fa fa-unlock-alt"></i>&nbsp;Login </a>
</li>

答案 3 :(得分:0)

在webroot中创建一个文件,并将其命名为.htaccess,然后在其中键入此代码

*Bug Data.Singletons.Prelude> :kind! Foo
Foo :: *
= NewType ('A :$$$ '['B])
*Bug Data.Singletons.Prelude> :kind! Bar
Bar :: *
= NewType ('A :$$$ '['B])

在你的application / config / config.php文件中,找到这个

    <IfModule mod_rewrite.c>
 RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 

    </IfModule>

答案 4 :(得分:0)

我从 $ route ['login'] = ['login / index']; 更改为 $ route ['login'] ='login / index'; 就我而言。