서브도메인 자동세팅... 서브도메인 디렉토리 여러개 지정방법
본문
RewriteEngine on // RewriteEngine 활성화
RewriteCond %{HTTP_HOST} ^[^.]+.test.com$ // 서버명에 서브도메인 정규화로 매치
RewriteRule ^(.+) %{HTTP_HOST}$1 [C] // Cond에 해당되는 도메인에 대해서 도메인뒤에 나온 문장 매치
RewriteRule ^([^.]+).test.com(.*) /www/sub1/$1/$2 서브도메인과 해당페이지 매치
하위 폴더에 대해 자동으로 서브도메인을 세팅하는 소스인데요. 하위 폴더 내에 디렉토리가 많아 나누어서 관리 하려고 하는데 하위 폴더 디렉토리를 여러개 지정하는 방법이 있을까요?
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+.test.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).test.com(.*) /www/sub1/$1/$2
RewriteRule ^([^.]+).test.com(.*) /www/sub2/$1/$2
이런식으로 하면 될줄 알았는데.. rule을 하나 더 추가하면 패턴이 겹쳐서 그런지 접속이 되질 않습니다..
도움주신분께 약간의 사례하겠습니다!
답변 2
어떤식으로 접속하는지는 모르겠지만, 정규식측면에서만 본다고 하면
aaa.test.com/bbb 를 접속한다고 하면
RewriteRule ^([^.]+).test.com(.*) /www/sub1/$1/$2 에서
([^.]+) : 서브 도메인 이름 즉 여기서는 aaa가 되겠죠.
(.*) : 메인 도메인 아래인데 그럼 여기서는 /bbb가 됩니다.
그럼 /www/sub1/aaa//bbb가 됩니다.
RewriteRule ^([^.]+).test.com/(.*) /www/sub1/$1/$2
RewriteRule ^([^.]+).test.com(.*) /www/sub1/$1$2
이렇게 되어야 정규식 측면에서는 맞을 것 같습니다.
서브 도메인은 리라이트 룰로 진행 하지 마시고 버츄얼호스트를 이용해 작업해 주시는것이 좋습니다.