질문을 삭제하지 말아주세요.!
 
1
0
-1

소스상에서 

redirect()->intended('/');
위처럼 리다이렉트를 하는데 http 스키마로만 리다이렉트 되더라구요..

개발서버에서는 http로..

서비스에서는 https로 리다이렉트나 route('경로') 를 사용할때 분리할수있는 유연한 방법이 있나요? 

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      '/' 는 웹 서버의 DocumentRoot 기준이기 때문에 웹 서버가 https를 사용하면 https URL로 리다이렉트됩니다. 다만, PHPUnit이나 Tinker에서는 웹 서버를 거치지 않으므로 .env 또는 TestCase.php 에서 scheme::/host를 지정해줘야 합니다.

      1. neojs0109

        당연히 '/' 사용해서  웹 서버가 https를 사용해서 https URL로 리다이렉트될줄알았는데...안되더라구요..

        PHPUnit 때문이였군요...ㅠ .env를 사용해서 실섭에 적용하려면 어떤방법으로 해야할까요?

        5.2버전에 routes/web.php 쪽을 수정해야할까요?

      2. 김주원

        운영서버에 어떤 인프라를 쓰는 지 모르겠지만, 보통은 인프라 설정 대시보드에서 .env를 오버라이드할 수 있는 환경변수를 추가할 수 있는 UI를 제공합니다.


        질문은 운영서버에서 PHPUnit을 돌리고 싶다는 말씀이시죠? phpunit.xml에 환경변수를 써주면 .env를 오버라이드하고, TestCase.php에도 직접 운영서버의 URL을 넣어주면 되지 않을까요? 운영 서버는 위험하니 로컬에서 충분히 테스트하신 후 적용하실 것을 권합니다. 특히 DB 트랜잭션이 포함된 테스트라면 운영 DB가 PHPUnit 테스트로 더러워질 수 있으니 주의하시고요.


      3. neojs0109

        정말 감사합니다!!

        정말 많은 도움이 되었습니다.!!

      CommentAdd your comment...