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

서브도메인 www 고정연결 설정에서 예외 서브도메인 설정 채택완료

망고씌 7년 전 조회 3,573

www 없으면 자동으로 붙이고 잘못된 서브도메인으로 접근했을경우 www 고쳐 연결하는 설정을 htaccess 로 적용을 했었습니다.

m.도메인.com 이나 login.도메인.com같은 예외로 적용하고 싶은 서브도메인들이 생겨서

php 방식으로 바꾸어보았지만 if문을 어떻게 적용해야할지 모르겠네요.

 

기존 htaccess 소스

</p>

<p>RewriteCond %{HTTP_HOST} !^www\.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>

 

www 붙이는 php 방식1

</p>

<p>if(!stristr($_SERVER['HTTP_HOST'],"www.")) 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>

 

www 붙이는 php 방식2

</p>

<p>if (!preg_match('/www/', $_SERVER['HTTP_HOST']) == true) {

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>

 

이런 소스들중에서 m, login, member 같은 지정 서브도메인에서는 www로 고치기를 제외하고싶습니다.

if문 사용하고싶어서 php방식으로 바꾸고싶습니다만 그래도 htaccess 방식도 알아두고싶습니다.

감사합니다!

 

...

 

...

 

...

 

...

 

...

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

답변 1개

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

테스트/확인은 해보지 못했습니다.

 

* php

</p>

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

$first_part = array_shift((explode('.', $_SERVER['HTTP_HOST'])));

if (!in_array($first_part, $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>

 

* .htaccess 

</p>

<p>RewriteCond %{HTTP_HOST} !^(www|m|login|member)\.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>

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

답변에 대한 댓글 2개

망고씌
7년 전
htaccess는 잘되는데 php는 페이지 새로고침이 잘못되었다고 나오네요ㅠㅠ
그래도 htaccess는 되니 임시로 써야겠습니다. 감사합니다!
다이버시
6년 전
www 붙이는 php 방식1은 어느 파일에 넣는건지요?

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

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

로그인