0

私はcakephp 1.3でコーディングしています。ページを index.html にリダイレクトする際に問題があります。

私の index.html は webroot フォルダー内にあります。私が知っていることは、cakephp が直接 index.html にリダイレクトすることです。

URLを使用するとエラーが表示されます..

Error: Controller could not be found.

Error: Create the class Controller below in file: app/controllers/controller.php

<?php
class Controller extends AppController {

    var $name = '';
}
?>

いくつかのリンクをたどりましたが、うまくいかないようです。私もグーグルで調べました。

Cakephp のすべての URL に .html を追加するにはどうすればよいですか?

4

1 に答える 1

1

CakePHP 自身の index.php を置き換えることはできません。そうしないと、CakePHP が機能しなくなります。通常、ファイルを webroot に置くことができ、問題なく動作しますが、(私の知る限り) Cake のルーティングを使用して非 CakePHP ファイルを表示することはできないため、ルート ファイルはもう少しトリッキーです。

任意のコントローラーのビューに html ファイルを配置し、そこにルート ディレクトリをルーティングします。たとえば、ファイルに index.ctp という名前を付けて、app/views/static_pages/index.ctp に配置します。

ルーター:

Router::connect('/', array('controller' => 'static_pages', 'action' => 'index'));

コントローラー (static_pages_controller.php):

class StaticPagesController extends AppController {
    function index() {
        // no need to do anything except use no layout file
        $this->layout = false;
    } 
}

モデル (static_page.php):

class StaticPage extends AppModel {
    // don't use a database for this model
    var $useTable = false;
}
于 2012-07-24T13:45:53.503 に答える