서브도메인 www 고정연결 설정에서 예외 서브도메인 설정
본문
www 없으면 자동으로 붙이고 잘못된 서브도메인으로 접근했을경우 www 고쳐 연결하는 설정을 htaccess 로 적용을 했었습니다.
m.도메인.com 이나 login.도메인.com같은 예외로 적용하고 싶은 서브도메인들이 생겨서
php 방식으로 바꾸어보았지만 if문을 어떻게 적용해야할지 모르겠네요.
기존 htaccess 소스
RewriteCond %{HTTP_HOST} !^www\.domain\.co.kr$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www\.domain\.co.kr/$1 [L,R]
www 붙이는 php 방식1
if(!stristr($_SERVER['HTTP_HOST'],"www.")) header("location: http://www.domain.co.kr".$REQUEST_URI); exit;
www 붙이는 php 방식2
if (!preg_match('/www/', $_SERVER['HTTP_HOST']) == true) {
header("location: http://www.domain.co.kr".$REQUEST_URI);
}
이런 소스들중에서 m, login, member 같은 지정 서브도메인에서는 www로 고치기를 제외하고싶습니다.
if문 사용하고싶어서 php방식으로 바꾸고싶습니다만 그래도 htaccess 방식도 알아두고싶습니다.
감사합니다!
...
...
...
...
...
...
답변 1
테스트/확인은 해보지 못했습니다.
* php
$arr_allowed = array("domain", "m", "login", "member");
$first_part = array_shift((explode('.', $_SERVER['HTTP_HOST'])));
if (!in_array($first_part, $arr_allowed))
header("location: http://www.domain.co.kr".$REQUEST_URI);
exit;
* .htaccess
RewriteCond %{HTTP_HOST} !^(www|m|login|member)\.domain\.co.kr$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www\.domain\.co.kr/$1 [L,R]
답변을 작성하시기 전에 로그인 해주세요.