0

私は、CakePHP (および CakePHP のドキュメント) で使用する mod_rewrite を修正するための投稿といくつかの Google グループのものを見てきましたが、mod_rewrite を正しく動作させることができないようです。

CakePHP は正常にインストールされ、メイン ページが表示されます。ここに画像の説明を入力 次に、モデル app/Model/Format.php を作成しました。

<?php

    /**
     * File: app/Model/Format.php
     *
     * Format Model
     */
    class Format extends AppModel
    {
        var $name = 'Format';

        // <hasMany>
        var $hasMany = array(
                                'DVD' => array('className' => 'DVD')
                            );
    }

    ?>

メソッドを含むコントローラー app/Controller/FormatsController.php:

function index()
    {           // Ignore Format -related- data
        $this->Format->recursive = 0;

        // Get all formats from the database that have a status of '1'
        $formats = $this->Format->find('all', array(
                                                        'conditions' => array('Format.status' => '1')
                                                    ));

        // Save the Formats in a variable for display from the View
        $this->set('formats', $formats);
    }

最後に View app/View/Formats/index.ctp:

<?php
    // File: app/Views/Formats/index.ctp
?>

<div class='formats index'>

    <table>
        <thead> 
            <tr>
                <th> Format Name</th>
                <th> Description </th>
                <th> Actions </th>
            </tr>
        </thead>
        <tbody>
            <?php

            ?>
        </tbody>
    </table>

</div>

Cakephp ルート ディレクトリ、アプリ ルート ディレクトリ、webroot ディレクトリにある私の .htaccess ファイルはすべて、CakePHP の提案 @ http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Installation.htmlと一致します。

また、Googleグループの誰かがそれがうまくいったと言っていたので、これらの.htaccessファイルのそれぞれにRewriteBase [path to my app dir]を追加しました。

ただし、「cakecms/Formats/index」を読み込もうとすると、次のようになります。

ここに画像の説明を入力

私が欠けているものについて何か考えがありますか?今日は新しいラップトップを使用していますが、これすべて最後のラップトップで機能していました。私は何かが欠けている必要があります...

4

2 に答える 2

0

[解決済み]

私はついに私が行方不明だったのは何であるかを理解しました。デフォルトを変更したことはありません

<Directory [DocumentRoot] />
....
</Directory>

httpd.confファイルのディレクトリ。

より具体的な<Directory...>リストでオーバーライドを許可している間、デフォルトのDocumentRootリストでオーバーライドを拒否していました。httpd.confのデフォルトのDocRootディレクトリに変更するAllowOverride Allと、Cake /ApacheURLルーティングは完全に機能します。

于 2013-03-01T00:47:18.280 に答える
0

URL の書き換えに問題がある場合、通常、デフォルトのホームページにエラー メッセージが表示されますが、それはおそらく問題ではありません。チェックする必要がある URL はcakecms/formats(小文字の "f" に注意) です。index アクションの場合、「index」部分はオプションです。

于 2013-02-27T12:24:27.190 に答える