본문 바로가기

개발자이야기/Linux이야기

아파치와 톰캣으로 주소 www.Xxx.com/id 로 포워딩하기

반응형

[환경]

windows apache tomcat (mod jk 로 연동됨)

 

[모듈설치]

윈도우용 apache 의 경우 rewrite 모듈이 기본으로 설치 되어 있으므로 별도 설치 필요 없음

linux의 경우 apache 컴파일을 새로 해주어야 함

    ./configure --enable-so --prefix=/usr/local/apache  --enable-ssl --with-mpm=worker --enable-rewrite  --disable-ipv6  --enable-proxy-ajp --enable-proxy --enable-cache \

 

[http.conf 파일 수정]

RewriteEngine On
RewriteLog logs/rewrite.log
RewriteLogLevel 0
RewriteRule ^/([a-zA-Z0-9]+)$ /main/myhome/home.jsp?id=$1 [PT]

여기서 중요한 부분이 붉은색으로 표시한 부분이다. [PT]

이 플래그를 주지 않으면 jsp 소스가 화면에 그대로 나와 버린다.<br />
<br />
 즉 아파치에서 해당 주소의 tomcat 엔진으로 호출하는 것이 아니라는 것이다. PT 플래그를 주니 tomcat으로 잘 전달 된다.

해당 플래그에 대한 설명은 아래와 같다.

     'passthrough|PT' (pass through to next handler)
    This flag forces the rewrite engine to set the uri field of the internal request_rec structure to the value of the filename field. This flag is just a hack to enable post-processing of the output of RewriteRule directives, using Alias, ScriptAlias, Redirect, and other directives from various URI-to-filename translators. For example, to rewrite /abc to /def using mod_rewrite, and then /def to /ghi using mod_alias:

    

    RewriteRule ^/abc(.*) /def$1 [PT]
    Alias /def /ghi

    

    If you omit the PT flag, mod_rewrite will rewrite uri=/abc/... to filename=/def/... as a full API-compliant URI-to-filename translator should do. Then mod_alias will try to do a URI-to-filename transition, which will fail.

    Note: You must use this flag if you want to mix directives from different modules which allow URL-to-filename translators. The typical example is the use of mod_alias and mod_rewrite.

 

[출처] apache Rewrite 기능으로 tomcat 연동하여 http://도메인/id 처리 되도록 설정하기|작성자 왕건달

반응형

'개발자이야기 > Linux이야기' 카테고리의 다른 글

samba 환경설정  (0) 2014.06.12
java 제거 및 설치  (0) 2014.04.09
linux system 시간 동기회  (0) 2013.08.12
djbdns 재시작  (0) 2013.08.06
도메인 미니홈피처럼  (0) 2010.05.20