2012-05-08 7 views
0

cakephpのマスタールーティングをこのように定義したいと思います。cake phpのデフォルトルーティングが機能しない

Router::connect('/:lang/:plugins/:controller/:action/*', array('lang' => 'eng', 'controller' => 'index', 'action' => 'index', 'plugin' => null), array('lang' => '[a-z]{3}')); 

デフォルトでは機能しません。これらのエラーが表示されたら、次のエラーが表示されなくなります。

/   Error: Controller could not be found. 
/eng  Error: EngController could not be found. 
/eng/pages Error: EngController could not be found. 

答えて

0

ルートエラーは、使用するよう求めているコントローラが存在しないということです。私はあなたがCakePHPの2を使用していると仮定すると、ので、あなたのコントローラのファイル名は次のようになっていることを確認しています:

EngController.php

そして、そのコントローラファイル内に、それは次のようになります。

<?php 
App::uses('AppController', 'Controller'); 
/** 
* Eng Controller 
* 
*/ 
class EngController extends AppController { 

/** 
* Scaffold 
* 
* @var mixed 
*/ 
    public $scaffold; 

} 

EDIT :
私はルートをもう一度見て、ルートの最初に'lang' => 'eng'があります。あなたが得ているエラーは、engがコントローラであると考えているルートからのものです。このセクションを完全に削除してください。

+0

私の問題はルーティングではないかコントローラである – sweb

+0

あなたのルートはコントローラを見つけることができません。私はあなたのルートに間違って何かを見ることができないので、私はあなたのコントローラをチェックします。 – mickburkejnr

+0

更新された回答。 – mickburkejnr