代码之家  ›  专栏  ›  技术社区  ›  HemalHerath

为什么我必须在URL CodeIgniter中包含索引?

  •  0
  • HemalHerath  · 技术社区  · 6 年前

    我已经创建了一个控制器,如下所示

    <?php
    
    class Posts extends CI_Controller {
    
        public function index(){
    
            $data['title'] = 'Latest posts';
    
            $this->load->view('templates/header');
            $this->load->view('posts/index', $data);
            $this->load->view('templates/footer');
        }
    }
    

    我设置了如下路线

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    
    $route['default_controller'] = 'pages/view';
    $route['404_override'] = '';
    $route['translate_uri_dashes'] = FALSE;
    
    $route['(:any)'] = 'pages/view/$1';
    $route['posts'] = 'posts/index';
    

    http://localhost/Blog/posts

    但如果我去 http://localhost/Blog/posts/index

    为什么我不能让它在第一个网址工作?我做错了什么请帮我这个我是新的代码点火器

    2 回复  |  直到 6 年前
        1
  •  1
  •   msg    6 年前

    Blog 可能是CodeIgniter安装所在的子目录。 CI将任何传入的uri视为 /controller/action/parameters Controller 博客 却找不到。

    要解决这个问题,你必须更新你的 config.php 并设置:

    $config['base_url'] = 'http://' . $_SERVER['HTTP_HOST'] . '/Blog/';
    
        2
  •  0
  •   Golwin    6 年前

    $route['/posts'] 在路由器中或删除该路由器,因为索引方法将作为默认方法调用。