시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
아파치에서 사용자별 가상호스트를 설정하려합니다

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
clackend
손님





올리기올려짐: 2006.4.06 목, 12:35 am    주제: 아파치에서 사용자별 가상호스트를 설정하려합니다 인용과 함께 답변 글 편집/삭제

아파치에서 사용자별 가상호스트를 설정하려합니다.

기존에는 한폴더에 사용자별 폴더를 만들고 가상호스트를 설치하였으나

사용자가 늘어나서 2개의 폴더로 나누어서 관리하려합니다.
아이이 첫글자가

a-z아이디를 가지고 있는 사용자는 USERS1
0-9아이디를 가지고 있는 사용자는 USERS2
이렇게 폴더별로 나누려합니다.

아래처럼 Rewrite 명령어를 이용햇는데 잘안되는군요

어떻게 수정해야 할까요 ?


RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{SERVER_NAME}} !^(www|data)\.data\.ne\.kr$
RewriteCond ${lowercase:%{SERVER_NAME}} ^[^]+\.data\.ne\.kr$
RewriteRule ^(.+) %{lowercase:%{SERVER_NAME}$1 [C]
RewriteRule ^([a-z]+)\.data\.ne\.kr/(.*) /hosting_/USERS1/$1/html$2
RewriteRule ^([0-9]+)\.data\.ne\.kr/(.*) /hosting_/USERS2/$1/html$2
위로
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2006.4.06 목, 1:48 pm    주제: Re: 아파치에서 사용자별 가상호스트 설정 인용과 함께 답변

clackend 씀:
아파치에서 사용자별 가상호스트를 설정하려합니다.

기존에는 한폴더에 사용자별 폴더를 만들고 가상호스트를 설치하였으나

사용자가 늘어나서 2개의 폴더로 나누어서 관리하려합니다.
아이이 첫글자가

a-z아이디를 가지고 있는 사용자는 USERS1
0-9아이디를 가지고 있는 사용자는 USERS2
이렇게 폴더별로 나누려합니다.

아래처럼 Rewrite 명령어를 이용햇는데 잘안되는군요

어떻게 수정해야 할까요 ?


RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond ${lowercase:%{SERVER_NAME}} !^(www|data)\.data\.ne\.kr$
RewriteCond ${lowercase:%{SERVER_NAME}} ^[^]+\.data\.ne\.kr$
RewriteRule ^(.+) %{lowercase:%{SERVER_NAME}$1 [C]
RewriteRule ^([a-z]+)\.data\.ne\.kr/(.*) /hosting_/USERS1/$1/html$2
RewriteRule ^([0-9]+)\.data\.ne\.kr/(.*) /hosting_/USERS2/$1/html$2


다음과 같이 변경해보세요.
코드:

RewriteEngine on
RewriteCond %{HTTP_HOST}  !^(www|data)\.data\.ne\.kr$
RewriteCond %{HTTP_HOST}  ^[^.]+\.data\.ne\.kr$
RewriteRule ^(.+)         %{HTTP_HOST}$1 [C]
RewriteRule ^([a-z][^.]+)\.data\.ne\.kr(.*) /hosting_/USERS1/$1/html$2
RewriteRule ^([0-9][^.]+)\.data\.ne\.kr(.*) /hosting_/USERS2/$1/html$2


1. 도메인은 영문자 소문자로 이뤄지니 lowercase를 사용할 필요가 없습니다.
2. [a-z]+ 로 했을 땐 오직 a-z문자로만 이뤄진 ID를 의미합니다. a-z로 시작하는 ID 를 표시하려면 [a-z][^.]+ 로 하셔야 합니다.
3. 마지막줄의 data\.ne\.kr/(.*) 는 data\.ne\.kr(.*) 로 바꾸어야 $1/html$2 에서 넘겨받을 때 제대로 처리됩니다.
예) (abcd).data.ne.kr/1234 로 요청했다면 -> .../USER1/abcd/html/1234로 갑니다. 님이 처음 설정한대로 하면 .../USER1/abcd/html1234 로 넘어가겠죠.
4. 그리고 저는 SERVER_NAME 변수대신에 HTTP_HOST 를 사용합니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영 시간대: GMT + 9 시간(한국)
페이지 1 중 1

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 있습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group