1

Zend ( http://www.youtube.com/watch?feature=player_embedded&v=EerB9bTvqrY ) のチュートリアルに従っていますが、プロジェクトに新しいモジュールを追加すると、そこに移動できません。このチュートリアルの手順は次のとおりです。正しくない?

基本的に、Zend Studio で新しいモジュールを Zend Framework プロジェクトに追加すると、そこに移動できなくなります。新しいモジュールは「取引」と呼ばれます。localhost/dealproject/deals に移動すると、エラー 404 が表示されます。localhost/dealproject/ に移動すると、zend スケルトン アプリケーション ページが正しく読み込まれます。

ご協力いただきありがとうございます。

module.config.php

<?php
return array(
'controllers' => array(
    'invokables' => array(
        'Deals\Controller\Deals' => 'Deals\Controller\DealsController',
    ),
),
'router' => array(
    'routes' => array(
        'deals' => array(
            'type'    => 'Literal',
            'options' => array(
                // Change this to something specific to your module
                'route'    => '/deals',
                'defaults' => array(
                    // Change this value to reflect the namespace in which
                    // the controllers for your module are found
                    '__NAMESPACE__' => 'Deals\Controller',
                    'controller'    => 'Deals',
                    'action'        => 'index',
                ),
            ),
            'may_terminate' => true,
            'child_routes' => array(
                // This route is a sane default when developing a module;
                // as you solidify the routes for your module, however,
                // you may want to remove it and replace it with more
                // specific routes.
                'default' => array(
                    'type'    => 'Segment',
                    'options' => array(
                        'route'    => '/[:controller[/:action]]',
                        'constraints' => array(
                            'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                        ),
                        'defaults' => array(
                        ),
                    ),
                ),
            ),
        ),
    ),
),
'view_manager' => array(
    'template_path_stack' => array(
        'Deals' => __DIR__ . '/../view',
    ),
),

);

4

2 に答える 2

1

モジュールが有効になっていることを確認してください~/config/application.config.php

'modules' => array(
    'Application',
    'Deals',
),
于 2013-04-01T02:50:25.323 に答える
0

私には、ルート構成は正しく見え、結果が表示されるはずです。ZF2 アプリケーションのベース URL ( localhost/dealproject/) がドメインのルートのサブディレクトリにあることに気付きました。ご存じのとおり、すべてのリクエストはアプリケーションの index.php にマップされます ( ~/public/index.php)。これは、.htaccessファイル (同じディレクトリ内) の構成によって行われます。

URL の例では、www.example.com のルートの下にフォルダーとして存在しないwww.example.com/blog場合、 . ただし、ディレクトリが見つからない場合、ZF2 の .htaccess により、apache はドメインのルートにある index.php を呼び出します (これは、ZendSkeletonApplication を使用することを前提としています)。blog404 Page not found

さて、あなたのindex.phpはドメインlocalhost/ルート(構成。localhost/dealproject/localhost/dealproject/localhost/dealproject/dealsdealproject/dealslocalhost

dealprojectフォルダを のルートにすることをお勧めしますlocalhost。これにより、次のようにルートを呼び出すことができます: localhost/deals.htaccess と index.php が正しく処理されます。

お役に立てれば :)

ストヤン

于 2013-04-01T19:04:55.873 に答える