라라벨(Laravel) - 이전 페이지를 특정 URL로 변경해줍니다.

라라벨 환경에서 이전 페이지를 특정 URL로 변경하고 그 과정에서 검색된 코드, 함수을 정리한 문서입니다.

라라벨은 _previous.url Session 에 이전 페이지 정보를 저장하고 있습니다.

그렇기 때문에 'setPreviousUrl' 함수를 사용해 이전 페이지를 임의로 수정해줄 수 있습니다.

 

framework/src/Illuminate/Session/Store.php

/**
 * Set the "previous" URL in the session.
 *
 * @param  string  $url
 * @return void
 */
public function setPreviousUrl($url)
{
    $this->put('_previous.url', $url);
}

 

예시 코드

$currentHost = parse_url(url()->current()) ['host'];
$redirectTargetHost = parse_url(url()->back()->getTargetUrl()) ['host'];

if ($currentHost !== $redirectTargetHost) {
	session()->setPreviousUrl($request->getSchemeAndHttpHost());
} 

 

검색된 함수

  • Request
$request->getHost();      // return dev.site.com
$request->getHttpHost();  // return dev.site.com
request()->getHttpHost(); // return dev.site.com

$request->getSchemeAndHttpHost(); // return <https://dev.site.com>
$request->root();

url()->previous() // previous url path
  • share