서브도메인 값을 switch문으로 나누는 중 질문드립니다 채택완료
안녕하세요 더위가 한결 달아난 시원한 저녁입니다~
현재 구하고자 하는 것은 서브도메인 값을 구하여 그 값에 따라 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개
도메인은 $_SERVER['REQUEST_URI'] 가 아니죠
한글이든 아니든 아래처럼 해보세요
$tmp = explode(".", $_SERVER['HTTP_HOST'];);
$subdomain = $tmp[0];
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
정규식은 항상 생각을 많이 하게 되어서 그냥 바로 떠오르는 방식을 적업봅니다. 너무 무식한 방법이 될수도 있을것 같기는 한데요.
http://나 https:// 그리고 본도메인은 replace로 변경후에 남은 스트링이 있는지 체크해도 될것 같구요.
explode를 이용해서 본도메인과 일치하는 도메인 제외한후 남은 배열에 값이 있는지 체크하면 될것 같습니다.
답변에 대한 댓글 1개
str_replace보다 explode가 조금 더 편리하네요.
신경써 주셔서 거듭 감사드립니다~
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
전 SERVER_NAME으로 explode처리해서 해보았는데 잘 되더라구요.
문제는 서브도메인 없이 도메인.com인 경우였는데
이역시 switch문에 case "도메인": 을 넣어서 해결했습니다.
큰 도움 주셔서 감사합니다~