2017-11-05 10 views
0

와 도메인 컨트롤러/액션 : 매개 변수가 다를 수있는 곳과 같은Yii2 - 예쁜 URL - 나는 다음과 같은 시나리오가 있다면 내 꽤 URL에 대한 규칙이 될 것입니다 무엇 매개 변수

링크를.

domain/?bt=<token>&e=<email>  

또는

domain/?lt=<token>&e=<email> 

이어서 제어기/동작에서 처리되어야한다. 즉. mycontroller/get

또한 액션 내에서 매개 변수는 $ _GET을 통해 액세스 할 수 있어야합니다.

+0

당신은 bt 또는 lt로 무엇을 의미합니까? .. 두 샘플의 차이점은 무엇입니까? ... 필요한 항목의 실제 샘플보기 ... – scaisEdge

+0

http : // localhost : 8080/myapplication/web/index.php? r = open-msg/get & bt = 123 & e = [email protected] 또는 http : // localhost : 8080/myapplication/web/index.php? r=click/get&bt=456&[email protected] bt와 lt는 매개 변수입니다. 그 링크가있는 은 내 컨트롤러로 처리해야합니다/ –

답변

0

가장 간단한 방법은 urlHelper 기능 URL을 사용하여 urlHelper

use yii\helpers\Url; 

$myUrl = Url::to(['your_controller/your_action', 'bt' => 123, 'e' => '[email protected]']); 

의 사용을 기반으로 ::에 .. 제대로 당신이 당신의 설정 파일에 설정 한 urlManager의 구성에 따라 형성된다 필요한 URL 및 배열의 ​​항목과 같은 샘플에 표시되는 param a manager. 되지 않은 다른 값이
을 얻을 당신이 $_GET['bt']$_get['e']

에 필요한 값을 얻을 수있는 URL이 형성되어 지정된 경우

게시물 또는 얻을 방법은 당신이 당신의 ULR 통화가 운전 방식의 유형과 관련이

http://www.yiiframework.com/doc-2.0/yii-helpers-url.html

http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html

http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html

+0

감사합니다 scaisEdge하지만 내 문제의 해결책으로 적합하지 않았습니다. –

0
'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
     'rules' => [ 
      '<controller:\w+>/<id:\d+>' => '<controller>/view', 
      '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
      '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
      '' => 'call-backs/get', 
      'unsubscribes' => 'unsubscribes/get', 
     ], 
    ], 

@scaisEdge, 제 질문에 답변 해 주셔서 감사합니다. 어쩌면 내 질문은 분명하지 않지만 이것은 단서와 팁을 온라인으로 찾은 후에 제 질문을 위해 만든 해결책입니다.

내가 원한 모두는 사용자가 링크를 클릭하여 메인 페이지/메인 도메인을 클릭하면 웹 서비스 또는 API와 같은 yii 프로젝트로 이동 한 다음 정확한 컨트롤러 및 동작.

'' => 'call-backs/get' 

위의 코드는 질문에 대한 대답입니다. 건배.