私の app/modules/ には、Application、Album、Shop という名前の 3 つのモジュールがあります。HOSTANME/application、HOSTNAME/album、および HOSTNAME/shop を使用して、これらの各モジュールにアクセスしたいと考えています。アプリケーション モジュールの場合、構成は次のとおりです。
'router' => array(
'routes' => array(
'application' => array(
'type' => 'Literal',
'options' => array(
'route' => '/application',
'defaults' => array(
'__NAMESPACE__' => 'AppliWcation\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'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(
),
),
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Application\Controller\Index' => 'Application\Controller\IndexController',
.........
),
},...
Application モジュールの下に複数の Controller があります。この方法で、次のような URL にアクセスできます。 http://www.myhostname.com/application/controllerName/actionName 他の 2 つのモジュールも同様の構成です。
これは、先月の初めに以前の T61 thinkpad で動作します。次に、新しく購入した T410 に Php/apache を再インストールしました。また、最新の ZF2 バージョンを git pull します。
git log
commit 73e0de644789aa5b712c97f55c512c57c2b9ac76
Merge: 7c65991 d722da5
Author: Matthew Weier O'Phinney <matthew@zend.com>
Date: Fri Oct 4 11:01:06 2013 -0500
Merge branch 'hotfix/version-composer'
Fix for issue introduced with #5191
しかし、すべてがうまくいきません。error.log を確認しました:
[2013 年 10 月 6 日 10:47:05] [エラー] [クライアント 127.0.0.1] ファイルが存在しません: /path/to/app../ChipShop/public/application
ただし、デフォルト ルート http://www.myhostname.comでは機能します。
設定に問題があるのでしょうか、それとも設定ルールが変更されたのでしょうか? ありがとう
[アップデート]
同様のポストZF2ルーティング構成があり、方法を試しました:
'user' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/user',
'defaults' => array(
'controller' => 'Application\Controller\User',
'action' => 'some-action',
),
),
) ,
しかし、それはまだ私にとってはうまくいきません..
解決問題はコード側ではありません。それは私の構成にあります。1、Apache書き換えモジュールを有効にするのを忘れていました。akond の投稿で述べたように。2, virtualHost構成で、
AllowOverride なし
に変更する必要があります
AllowOverride すべて