【问题标题】:404 file not found in codeigniter在 codeigniter 中找不到 404 文件
【发布时间】:2016-01-25 05:02:07
【问题描述】:

我是 CodeIgniter MVC 的新手。我的主页视图已正确加载。当我用 aboutus 替换 index() 中的 home 时,它​​正在工作,但是当我调用 aboutus 函数时,它显示 404 file not found 错误。登录也正常工作。我没有得到什么是错的。我的视图文件夹包含关于我们、主页和登录文件。

public function index()
    {

    $this->load->view("home"); 

}
    function login()
{

    $this->load->view("login"); 

}
function aboutus()
{

    $this->load->view("aboutus"); 

}

//这里是html代码

<li><a href="<?php echo base_url();?>index.php/login">Login</a></li>
<li><a href="<?php echo base_url();?>index.php/aboutus" >About Us</a></li>

【问题讨论】:

标签: php codeigniter


【解决方案1】:

像这样改变你的html

<a href="<?php echos site_url('controllerName/yourfunction');?>">home</a>
<a href="<?php echos site_url('controllerName/aboutus');?>">about us</a>

【讨论】:

  • 你说的语法是正确的,但是,它没有回答问题。
【解决方案2】:

你需要在 routes.php 中为你的新函数 aboutus() 添加路由

您可以在“application/config/”中找到 routes.php。 假设您的控制器名称是 'Client_home' 然后, 例如:$route['default_controller'] = 'Client_home';

这就是当您将 index() 中的 home 替换为 aboutus 时 aboutus 工作的原因。如果您没有指定要启动的函数,默认情况下会调用 index() 方法。

对于 aboutus() 方法/函数,路由将是这样的: 例如:$route['aboutus'] = "Client_home/aboutus";

语法:

$route['url'] = "controllername/method or function name"

【讨论】:

    【解决方案3】:

    这个问题的例子。希望对您有所帮助:

    http://localhost/ciexample/index.php/your_controller/your_function
    

    【讨论】:

      【解决方案4】:

      如何加载默认控制器

      config/routes.php

      $route['default_controller'] = "controller_name; //this load index() in provided controller
      $route['default_controller'] = "controller_name/method_name"; //this load method which you created inside provided controller(ex: main/about_us)
      

      如何创建控制器

      路径 - application/controllers/ 文件名 - main.php
      里面main.php

      <?php
      
      if (!defined('BASEPATH'))
          exit('No direct script access allowed');
      
      class Main extends CI_Controller {
      
          public function index()
          {
              $this->load->view("home"); 
          }
      
          function login()
          {
              $this->load->view("login"); 
          }
      
          function aboutus()
          {
              $this->load->view("aboutus"); 
          }
      
      }
      

      如何创建视图

      Path - `application/view/`
      File name - `home.php`
      File name - `login.php`
      File name - `aboutus.php`
      

      如何使用链接

      <a href="<?php echo base_url()?>main/home">Home</a>
      <a href="<?php echo base_url()?>main/login">Login</a>
      <a href="<?php echo base_url()?>main/aboutus">aboutus</a>
      

      如何使用base_url()

      config/autoload.php

      $autoload['helper'] = array('url');
      

      config/config.php

      $config['base_url'] = '';
      

      【讨论】:

        【解决方案5】:

        我想知道控制器名称,也想知道你在哪里更改了它的配置,如果是的话,比哪个配置。

        在地址栏中使用它 "localhost/folder_name_of_the_project/index/controller_name"

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-27
          • 2022-08-21
          • 2016-02-21
          • 2020-07-14
          • 2019-12-02
          • 2015-12-19
          • 1970-01-01
          相关资源
          最近更新 更多