1

私たちのウェブサイトに codeigniter をセットアップしようとしています。

メインページをhttp://example.comにしたい場合

私のフォルダ構造は次のようになります。

public_html\
  application\
  common\
  system\

http://example.comに移動したときにページを表示するように codeigniter を設定するにはどうすればよいですか? 表示すると 404 エラーが発生します。

config.php を編集しましたが、ベース URL に何を入力すればよいかわかりません。

私のhtaccessファイル:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

私のroutes.php

$route['default_controller'] = "HomeController";
$route['404_override'] = '';

私の HomeController.php

public function index()
{
    $this->load->model('HomeModel');
    $this->load->view('templates/header');
    $data['result'] = $this->HomeModel->function1();
    $this->load->view('index', $data);
    $this->load->view('templates/footer');

}

私のHomeModel.php

<?php

class HomeModel extends CI_Model{

    public function index()
    {

    }

    public function function1()
    {
    $query = $this->db->get('work_orders');
        //return $query->result();
    return $query->result_array();

    }
}
4

3 に答える 3

0

base_url を空にすることができます:

$config['base_url'] = '';

この動作する .htaccess conf を試してください:

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

何も役に立たない場合、ホスティングは mod_rewrite Apache モジュールをサポートしていません

于 2013-06-06T15:40:49.113 に答える
0

EDIT2:

default_controller を HomeController から homecontroller に編集します。次のようにします。

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

コントローラーの名前を (必要に応じて) HomeController.php から homecontroller.php に変更し、コントローラー自体でそれを Homecontroller と呼びます。

モデルについても同じことを行います。ディレクトリでは homemodel.php (または home_model.php) と呼び、モデル自体では Homemodel と呼びます。

また、ブラウザのキャッシュをクリアします。


EDIT1:

モデルの名前を変更します。モデルを HomeModel.php と呼んでいたと思います。home_model.php と呼ぶだけです。これで問題が解決するはずです。


.htaccess ファイルは次のようになります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^LoginTut.*
RewriteRule ^(.*)$ index.php?/$1 [L]

RewriteCond $1 !^(index\.php|images|table-images|js|robots\.txt|css|captcha)

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

これは私のサーバーからコピーしただけで、うまく機能します。

その後、default_controller を次のように変更します。

$route['default_controller'] = "the default controller";

public_html が作成したフォルダーの場合、インデックス ページは次のようになります。

$config['index_page'] = "public_html/";

それ以外の場合は空白のままにします。(サーバーの httpdocs の場合)

動作するはずです:)

于 2013-06-06T06:45:03.510 に答える
0

configフォルダーのrouter.phpに行があります

$route['default_controller'] = "your controller name";

デフォルトで表示するコントローラーを追加します

于 2013-06-06T06:41:20.750 に答える