서브도메인 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년 전
�
다이버시
6년 전
www 붙이는 php 방식1은 어느 파일에 넣는건지요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그래도 htaccess는 되니 임시로 써야겠습니다. 감사합니다!