【问题标题】:Getting Error 404 on all controllers except on default_controller在除 default_controller 之外的所有控制器上出现错误 404
【发布时间】:2019-08-09 11:41:09
【问题描述】:

我正在尝试使用 Codeigniter 设置一个新应用程序。

当我定义路由时,除了 default_controller 之外,所有路由都出现错误 404。

我没有更改 .htaccess 文件,我无法直接访问控制器。

我该如何解决这个问题?我以前在 CI 上从来没有遇到过这个错误

HTACCESS

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

配置

$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/CodeIgniter/core/';

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

控制器:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Utilizador extends CI_Controller {
    function __construct(){
        parent::__construct();
        $this->load->library('session');
    }

    public function index(){
        //print_r($this->Utilizador_model->teste());
        echo "pppp";
    }

    }


?>

路线:

 $route['default_controller'] = 'pages';
    $route['404_override'] = '';
    $route['translate_uri_dashes'] = FALSE;
    $route['utilizador'] = 'utilizador';

HTML:

<div class="container">
  <div class="row">
    <div class="col-md-4 col-sm-6 col-xs-12 col-md-offset-4 col-sm-offset-3">
      <div class="bslf form">
        <form action="<?= base_url('utilizador') ?>" method="post">
          <h2 class="text-center">Login</h2>       
          <div class="form-group">
             <input type="text" class="form-control" placeholder="Username" required="required">
          </div>
          <div class="form-group">
            <input type="password" class="form-control" placeholder="Password" required="required">
          </div>
          <div class="form-group clearfix">
            <button type="submit" class="btn btn-primary pull-right">Log in</button>
          </div>       
        </form>
      </div>
    </div>
  </div>
</div>

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    更新你的 .htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    

    【讨论】:

    • 实际上可以,但必须删除配置文件 index_pag 上的“index.php”
    • 是的,你必须删除 index.php
    猜你喜欢
    • 2011-09-18
    • 2020-10-19
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2019-07-20
    • 2019-12-29
    相关资源
    最近更新 更多