2016-08-28 2 views
1

나는 yii2에서 배울 것입니다. URL 경로를 만들 때 문제가 있습니다. 여기 내 URL을 구성Yii2 URL 경로 작성을위한 슬러그 URL

'urlManager' => [ 
      'class' => 'yii\web\UrlManager', 
      // Disable index.php 
      'showScriptName' => false, 
      // Disable r= routes 
      // 'enableStrictParsing' => false, 
      'enablePrettyUrl' => true, 
      'rules' => array(     
       'category/<id:\S+>' => 'category/detail', 
       '<controller:\w+>/<id:\d+>' => '<controller>/view', 
       '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
       '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
       'request-password-reset' => 'site/request-password-reset', 
       'reset-password/<token:\S+>' => 'site/reset-password', 
       'profile/<id:[0-9a-zA-Z\-]+>/?' => 'profile/user', 
       'logout' => 'site/logout', 
       'login' => 'site/login', 

      ), 
     ], 

문제는 프로필 경로에 있습니다. URL의 끝에 슬래시없이 작업 및 오류가 아닙니다> (404)

  • http://localhost/myapps/profile/someurl - ->하지 URL의 끝에
  • http://localhost/myapps/profile/some-url에 추가 슬래시> 작업 -

    1. http://localhost/myapps/profile/some-url/ : 다음은 사건 오류 404
    2. http://localhost/myapps/profile/first-second-third 작업은 -> 우리는 결국 슬래시없이

    을 노력으로 정말 혼동 해요 , 나는 이전의 질문을 여기에서 찾고 있었고 나의 사건과 아무런 관련이없는 것을 시도했다.

    누군가 내 문제를 해결할 수 있습니까?

  • 답변

    1

    그냥 목록의 맨 위로 프로필 별명을 이동 :

    'profile/<id:[0-9a-zA-Z\-]+>/?' => 'profile/user', 
    'category/<id:\S+>' => 'category/detail', 
    '<controller:\w+>/<id:\d+>' => '<controller>/view', 
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
    'request-password-reset' => 'site/request-password-reset', 
    'reset-password/<token:\S+>' => 'site/reset-password', 
    'logout' => 'site/logout', 
    'login' => 'site/login', 
    

    '<controller:\w+>/<action:\w+>' => '<controller>/<action>'으로는 컨트롤러/액션으로 인식하기 때문에 'profile/<id:[0-9a-zA-Z\-]+>/?' => 'profile/user'하기 전에, 그것은, 프로필에 도달하지 않습니다 정의 하였다.

    +0

    작동하지만 주문이 URL 규칙의 영향을받는 이유가 궁금합니다. – adeade

    +1

    답변을 추가하고 설명을 추가했습니다. –

    +0

    글쎄, .. 지금은 이해하고있어 .. 고마워. – adeade