0

ここに記載されているセキュリティ上の理由から、http: //codeigniter.com/user_guide/installation/index.htmlシステムフォルダーとアプリケーションフォルダーを、Webルートフォルダーの上にあるOSW_appnsysという別のフォルダーに配置しました。これで、次のディレクトリに「Pages」というコントローラークラスと「View」関数があります。

C:\wamp\www\OSW_appnsys\application\controllers

'header.php'という別のビューファイルからコントローラー'Pages'の'View'メソッドを呼び出すと、次のような404エラーが発生します。

The requested URL /CodeIgniter_2.1.2/pages/view/products was not found on this server.

ここで、productはURIです。

そして私はこのように呼んでいます:

<a class="mainmenu" href="<?php echo base_url('pages/view/products')?>">Products</a>

どんな助けでも大歓迎です。Ty

4

3 に答える 3

3

ビューにリンクするのではなく、コントローラーの名前にリンクします。コントローラの名前が「ページ」の場合は、次のリンクにリンクする必要があります。

<a class="mainmenu" href="<?php echo base_url('pages/controllers/products')?>">Products</a>

コントローラを「pages/controllers/」フォルダに配置したと仮定します。'pages'という名前のコントローラーで、次のようにビュー(products_view.phpという名前のファイルなど、viewsフォルダーにあります)をロードします。

$this->load->view('products_view.php');
于 2012-08-14T13:07:39.887 に答える
1

CodeIgniterがどのように機能するかを理解しているようです。

上記のように、構成ファイル内には、

$application_folder = 'application';
$system_folder = 'system';

これらをに変更します

$application_folder = '../OSW_appnsys/application';
$system_folder = '../OSW_appnsys/system';

次に、ブラウザでCodeIgniterのindex.phpが存在するURLを指定します。

すなわち

\
\OSW_appnsys
\OSW_appnsys\application
\OSW_appnsys\system
\htdocs
\htdocs\index.php

経由

http://localhost/index.php

また、コントローラーまたはビューにアクセスするときは、コントローラー名にアクセスするだけです。すなわち

<a href="<?php echo site_url('pages/view'); ?>">Go to page</a>

次に、ビューアクションを備えたページコントローラーがあります。

<?php
class Pages extends CI_Controller {

    public function view()
    {
        echo $this->load->view('pages/view');
    }
}
?>
于 2012-08-14T13:33:54.503 に答える
0

アンカータグでこれを試してください

base_url().'index.php/pages/view'

products.phpコントローラのビュー機能でビューをロードします

于 2012-08-14T12:11:36.123 に答える