본문 바로가기

카테고리 없음

PHP 접속한 도메인에 따라 리다이렉션

$_SERVER["HTTP_HOST"] : 접속할 때 사용된 도메인 주소

예를 들어 'https://drive.-------.---/51ER6A'이면 'drive.-------.---'에 해당합니다.

 

PHP 내에서 $_SERVER["HTTP_HOST"] 값에 따라 Javascript를 출력하여 페이지를 리다이렉션 할 수 있습니다.

.htaccess 파일을 수정하지 않고 PHP만으로 해당 기능을 구현해야 할 때 유용합니다.

 

저의 경우에는 Synology NAS와 관련된 페이지에 편리하게 접속하기 위해 서브도메인 3개를 지정해 주었습니다.

모든 서브도메인들은 A레코드로 같은 IP를 지정해 주었습니다. 

따라서, 기본적으로 Port 80, 즉 WebStation 패키지로 호스팅 하고 있는 web 폴더의 index.php가 띄워집니다.

<?php
	
	$host = $_SERVER["HTTP_HOST"];
	if ($host == "drive.-------.---")
	{	//drive.-------.---으로 접속한 경우 Drive 페이지로 리디렉션
		echo "
			<script>
				location.href = 'https://-------.synology.me:5001/?launchApp=SYNO.SDS.Drive.Application';
			</script>
		";
	}
	else if ($host == "nas.-------.---")
	{	//nas.-------.---으로 접속한 경우 DSM 페이지로 리디렉션
		echo "
			<script>
				location.href = 'https://-------.synology.me:5001';
			</script>
		";
	}
	else
	{
		include('www3.html');
	}
?>

 

위 코드는 제가 작성한 index.php의 내용입니다. (실제 주소 대신 --로 표시하는 점 양해 바랍니다.)

'drive.-------.---'으로 접속한 경우 Synology Drive 페이지로 리다이렉션 됩니다.

'nas.-------.---'으로 접속한 경우 DSM (Port 5001)으로 리다이렉션 됩니다.

'www3.-------.---'은 웹페이지 메인 소스를 표시합니다.