1

私は完全にcodeigniterでサイトを構築しています。デフォルトのコントローラーをカフとして設定しました。したがって、ユーザーがドメイン名を入力するたびに、そのコントローラーに制御が移ります。

class Cuff extends CI_Controller {
 public function __construct()
       {
            parent::__construct();
            $this->load->helper('url');
       }

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

    public function navigate()
    {
        echo "test";
        exit;
}

}

インデックスビューで、アンカーがデフォルトのコントローラーの関数に移動するようにします。だから私が書くとき <a href="<?php echo base_url();?>navigate">our collection</a>、それはページが見つかりませんと言います。

私もこのようにベースURLを設定しました

$config['base_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME'])).'/';

カントは問題を理解しているようです。

4

4 に答える 4

3

コントローラー名を見逃しました

<a href="<?php echo base_url();?>cuff/navigate">our collection</a>
于 2012-08-24T07:32:01.633 に答える
0

セットする$config['base_url'] ='';

ファイル.htaccess内:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|favicon|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

コントローラがコントローラのフォルダ(サブフォルダではない)にあり、適切な名前が付けられていることを確認してくださいcuff.php

に移動してみてくださいhttp://yoursite/cuff/navigate

それでもエラーが表示される場合は、最後の行を次のように書き直してみてください.htaccess

RewriteRule ^(.*)$ /index.php/$1 [L]

(疑問符なし)。

それが役立つかどうか教えてください!

編集:そしてあなたのリンクはすべてこの形式である方が良いです:

<a href="<?php echo site_url('cuff/navigate');?>">Link</a>
于 2012-08-24T07:53:24.237 に答える
0

問題はルーティングにあります。

ルート.php(フォルダー../application/config/にありますを編集し、以下のコードを追加します。

$route['navigate'] = "Cuff/navigate";

Codeingiter URIルーティングの詳細については、http://codeigniter.com/user_guide/general/routing.htmlをご覧
ください。

これがお役に立てば幸いです。

于 2012-08-24T09:09:54.897 に答える
0

単に使用する

"<?php echo site_url();?>/cuff/navigate">our collection</a>
于 2012-08-27T07:40:46.743 に答える