3

我是 CodeIgniter 的新手,一切都很顺利,直到我发现我只能调用该index()函数。

我已经设置了config.php,autoload.phproutes.php预期的一样。

在 config.php 上

$config['base_url'] = 'http://localhost/ci';
$config['index_page'] = '';

在 autoload.php 上

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

在 routes.php 上

$route['default_controller'] = "site";

我有一个名为 site 的控制器

<?php

    class Site extends CI_Controller{

        function index(){
            $this->load->view('home');
        }

        function new_method(){
            $this->load->view('home2');
        }
    }
?>

我必须在视图文件夹中使用它们的 HTML 代码来创建 2 个文件,它们的名称只是 home.php 和 home2.php

在 home.php 我有

<?php 
    echo form_open('site/new_method');
    echo form_submit('submit', 'call method'); 
    echo ('<br /><br />');
    echo anchor('site/new_method', 'call method');
    echo form_close();
?>

index() 加载,结果你得到一个按钮和一个链接,但是当我点击时,我找不到对象!错误 404

4

4 回答 4

7

按照 Furqan 提到的步骤进行操作,但如果这不起作用,请在您的 .htaccess 文件中(在项目的根目录中)尝试此操作:

RewriteEngine on
RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ ./index.php/$1 [L]
于 2015-11-25T01:56:51.817 回答
2
  1. 你可以把它设为空$config['base_url'] = '';
  2. 使用 index.php 文件检查根文件夹中的 .htaccess
  3. 检查 mod_rewrite apache 模块是否已启用

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

于 2013-06-06T16:32:17.283 回答
0
Check the uri_protocol in the config file that should be AUTO.

Config/config.php ===> $config['uri_protocol']  = 'AUTO';
于 2014-09-11T08:48:31.600 回答
0

在您的根目录中创建一个 .htaccess 文件并在其中编写以下代码。

DirectoryIndex index.php

Options -Indexes

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
于 2019-04-29T14:34:15.220 回答