테스트 사이트 - 개발 중인 베타 버전입니다

서브도메인 값을 switch문으로 나누는 중 질문드립니다 채택완료

무와보 7년 전 조회 2,590

안녕하세요 더위가 한결 달아난 시원한 저녁입니다~

 

현재 구하고자 하는 것은 서브도메인 값을 구하여 그 값에 따라 switch문으로 구별하고 있습니다.

예를 들어

aaaaa.도메인.com 인 경우에는 도메인.com/1.php 로 이동

bbb.도메인.com 인 경우에는 도메인.com/2.php 로 이동

cccc.도메인.com 인 경우에는 도메인.com/3.php 로 이동

이런 식입니다.

 

</p>

<p><?</p>

<p>$subdomain="";</p>

<p>switch ($subdomain) {</p>

<p>  case "aaaaaa":</p>

<p>    goto_url(G5_URL.'/1.php');</p>

<p>  break;</p>

<p>  case "bbb" :</p>

<p>    goto_url(G5_URL.'/2.php');</p>

<p>  break;</p>

<p>  case "cccc" :</p>

<p>    goto_url(G5_URL.'/3.php');</p>

<p>  break;</p>

<p>  default :</p>

<p>    goto_url(G5_URL');</p>

<p>}</p>

<p>?></p>

<p>

 

이렇게 작성하면 각각의 서브도메인별로 이동할 것 같습니다.

 

하지만 여기서 서브도메인 값을 구하는 것이 어렵네요.

 

</p>

<p>$temp_subdomain = $_SERVER['REQUEST_URI'];</p>

<p>$temp_subdomain = substr($temp_subdomain,-4.20);</p>

<p>

이런 식으로 $_SERVER['REQUEST_URI'] 값에서 뒤에서 짤라 사용하려고 했는데

서브도메인의 길이도 제각각이고 한글 도메인이다보니 뒤에서 짜르는 것도 좀 불안하네요.

게다가 이걸 정규식으로 표현해야 제대로된 코드가 나올 것 같습니다.

 

서브도메인 값을 제대로 구할 수 있는 방법을 알고 계시는 고수님의 도움 부탁드립니다.

 

참 도메인이 한글이다보니 서브도메인도 한글로 만드는 경우가 있습니다.

 

감사합니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7년 전

도메인은 $_SERVER['REQUEST_URI'] 가 아니죠

한글이든 아니든 아래처럼 해보세요

 

$tmp = explode(".", $_SERVER['HTTP_HOST'];);

$subdomain = $tmp[0];

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

무와보
7년 전
네 안그래도 실수했는데 답변이 달리면 수정이 안되더라구요.
전 SERVER_NAME으로 explode처리해서 해보았는데 잘 되더라구요.
문제는 서브도메인 없이 도메인.com인 경우였는데
이역시 switch문에 case "도메인": 을 넣어서 해결했습니다.
큰 도움 주셔서 감사합니다~

댓글을 작성하려면 로그인이 필요합니다.

목동이되어

정규식은 항상 생각을 많이 하게 되어서 그냥 바로 떠오르는 방식을 적업봅니다. 너무 무식한 방법이 될수도 있을것 같기는 한데요.

http://나 https:// 그리고 본도메인은 replace로 변경후에 남은 스트링이 있는지 체크해도 될것 같구요.

explode를 이용해서 본도메인과 일치하는 도메인 제외한후 남은 배열에 값이 있는지 체크하면 될것 같습니다. 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

무와보
7년 전
답변 감사합니다.
str_replace보다 explode가 조금 더 편리하네요.
신경써 주셔서 거듭 감사드립니다~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인