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

여기서 무엇을 추가 혹은 변경해야할까요? 채택완료

망고씌 7년 전 조회 4,281

</p>

<p>RewriteCond %{HTTP_HOST} !^(www|m|login|member|app)\.domain\.co.kr$ [NC]

RewriteCond %{HTTP_HOST} !^$

RewriteRule ^(.*)$ <a href="http://www\.domain\.co.kr/$1" target="_blank" rel="noopener noreferrer">http://www\.domain\.co.kr/$1</a> [L,R]</p>

<p>

htaccess에서 지정한 서브도메인이 아니라면 www.domain.co.kr 로 바꾸는 것을

아래 php에서 작동하도록 작성했는데요

</p>

<p>$arr_allowed = array("www", "m", "login", "member", "app");

if (preg_match('/^([^.]+)\.domain\.co\.kr$/', $_SERVER['HTTP_HOST'], $match)){

    if (!in_array($match[1], $arr_allowed)){

        header("location: <a href="http://www.domain.co.kr".$REQUEST_URI);" target="_blank" rel="noopener noreferrer">http://www.domain.co.kr".$REQUEST_URI);</a>

        exit;

    }

}</p>

<p>

이게 문제가 .domian.co.kr 앞의 서브도메인이 없으면 그냥 패스(?)해버립니다.

앞에 1.domain.co.kr처럼 무언가가 있으면 www로 잘 넘어가는데 domain.co.kr이면 그냥 domain.co.kr이 되버립니다.

어떻게 손봐야하나요?

 

 

...

 

...

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

답변 2개

7년 전

흠 자답이네요

</p>

<p>$sub_tmp = explode('.domain.com', $_SERVER['HTTP_HOST']);

$sub_domain = current($sub_tmp);

$arr_allowed = array("www", "member", "app");  

if (!in_array($sub_domain, $arr_allowed)){         

    header("location: //www.domain.com".$REQUEST_URI);         

    exit;     

}</p>

<p>

explode 로 주소를 잘라서 비교했습니다.

이렇게한이유는 질문글의 코드는 2차 서브도메인 (www1.www2.domain.com)의 경우 Array라는 값을 출력하기때문입니다.

 

...

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

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

e
7년 전

</p>

<p>$arr_allowed = array("www", "m", "login", "member", "app");</p>

<p>if (preg_match('/^([^.]+)\.domain\.co\.kr$/', $_SERVER['HTTP_HOST'], $match)){     </p>

<p>  if (!in_array($match[1], $arr_allowed) || !$match[1]){         </p>

<p>    header("location: <a href="http://www.domain.co.kr".$REQUEST_URI);" target="_blank" rel="noopener noreferrer">http://www.domain.co.kr".$REQUEST_URI);</a>         </p>

<p>    exit;     </p>

<p>  }</p>

<p>}</p>

<p>

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

답변에 대한 댓글 1개

망고씌
7년 전
그래도 패스해버리네요 ㅠㅠ

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

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

로그인