2016-07-18 3 views
2

범위를 '/'으로 cakephp 3.2에 생성하고 있습니다. 하지만 작동하지 않습니다.Cakephp 3 라우팅이 작동하지 않습니다.

여기 내 코드입니다.

Router::scope('/', function (RouteBuilder $routes) { 

    $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); 

    $routes->connect('/user/:user',['controller'=>'Users','action'=>'myAccount'],['user'=>'/^[a-z0-9_-]$/','pass'=>['user']]); 

    $routes->fallbacks('DashedRoute'); 
} 

나는 그것을 찾을 수 없습니다 오류 UserController 던지고 다음 http://localhost/mysite/user/username 같은 URL을 방문하고있다.

어떻게해야합니까?

답변

1
$routes->connect(
    '/user/:user', 
    ['controller'=>'Users','action'=>'myAccount'], 
    ['user'=>'/^[a-z0-9_-]$/','pass'=>['user']] 
); 

이 루트 요소 정규 표현식은 작동하는 경우 사용자 매개 변수를 정확히 한 문자로 제한합니다.

하나가 예를 들어 정규 표현식을 수정하는 것이 필요 숯불보다 긴 문자열 "사용자 이름"과 일치하거나하려면 완전한 정규식 않을 것으로 예상된다

$routes->connect(
    '/user/:user', 
    ['controller'=>'Users','action'=>'myAccount'], 
    ['user'=>'[a-z0-9_-]+','pass'=>['user']] 
//     ^   
); 

route element regular expressions있다.

+0

정말 고마워요. 너는 내 하루를 구했다. – CodeZilla

관련 문제