내부 및 외부 리디렉션 에는 drupal_goto () 를 사용해야합니다 .
외부 리디렉션에 '외부'옵션을 사용하십시오.
drupal_goto($url, array('external' => TRUE));
drupal_goto ($ path = '', 배열 $ options = array (), $ http_response_code = 302)
$ options : (선택 사항) 다음과 같은 요소가 포함 된 추가 옵션의 연관 배열입니다.
- 'query' : URL에 추가 할 쿼리 키 / 값 쌍의 배열 (URL 인코딩없이).
- 'fragment' : URL에 추가 할 조각 식별자 (이름이 지정된 앵커)입니다. 선행 '#'문자를 포함하지 마십시오.
- 'absolute' : 기본값은 FALSE입니다. 출력을 절대 링크로 강제할지 여부 (http :로 시작). RSS 피드와 같이 사이트 외부에 표시 될 링크에 유용합니다.
- 'alias' : 기본값은 FALSE입니다. 주어진 경로가 이미 URL 별칭인지 여부
- 'external' : 지정된 경로가 외부 URL인지 여부
- 'language' : 선택적 언어 개체입니다. 링크되는 경로가 사이트 내부 인 경우 $ options [ 'language']가 URL의 별명을 찾는 데 사용됩니다. $ options [ 'language']를 생략하면 전역 $ language_url이 사용됩니다.
- 'https' :이 URL이 안전한 위치를 가리켜 야하는지 여부 정의되지 않은 경우 현재 체계가 사용되므로 사용자는 각각 HTTP 또는 HTTPS를 유지합니다. TRUE는 HTTPS를 시행하고 FALSE는 HTTP를 시행하지만 변수 'https'가 TRUE로 설정된 경우에만 HTTPS를 시행 할 수 있습니다.
- 'base_url' : 언어 종속 URL에 필요한 경우 기본 URL을 수정하기 위해 내부적으로 만 사용됩니다.
- 'prefix' : 언어 종속 URL에 필요한 경우 경로를 수정하기 위해 내부적으로 만 사용됩니다.
- 'script' : 클린 URL이 비활성화 될 때 사용할 Drupal 루트 디렉토리의 스크립트 파일 이름 (예 : 'index.php') 대부분의 최신 웹 서버는 자동으로 'index.php'를 찾기 때문에 기본값은 빈 문자열입니다. 클린 URL이 비활성화되면 $ path의 값이 반환 된 URL의 $ options [ 'script']에 쿼리 매개 변수 'q'로 추가됩니다. index.php를 자동으로 찾도록 구성 할 수없는 웹 서버에 Drupal을 배포하는 경우 hook_url_outbound_alter ()를 구현하여이 값을 'index.php'로 설정할 수 있습니다.
- 'entity_type' : url ()을 호출 한 객체의 엔티티 유형입니다. entity_uri ()가 url ()을 호출 한 경우에만 설정됩니다.
- 'entity' : URL이 생성되는 엔티티 오브젝트 (예 : 노드)입니다. entity_uri ()가 url ()을 호출 한 경우에만 설정됩니다.
$ http_response_code : (선택 사항) 리디렉션에 사용할 HTTP 상태 코드의 기본값은 302입니다. 3xx 리디렉션 상태 코드의 유효한 값은 RFC 2616 및 새 HTTP 상태 코드의 초안에 정의되어 있습니다.
301 : 영구적으로 이동 됨 (대부분의 리디렉션에 권장되는 값).
302 : 찾음 (Drupal 및 PHP의 기본값, 스팸 검색 엔진에 사용됨).
303 : 기타를보십시오.
304 : 수정되지 않았습니다.
305 : 프록시 사용
307 : 임시 리디렉션.
드루팔 8
Drupal 8은 drupal_goto 함수 를 제거 했습니다. 외부 URL로 리디렉션 하려면 질문에 대한 다음 답변을 참조하십시오. 외부 URL로 리디렉션하는 방법은 무엇입니까? .