현재 Apache-Tomcat 환경에서 새로운 프로젝트가 진행 중이다.
Tomcat에서 처리되고 있는
URL 형태가 *.jsp나 *.do 형태가 아닌 좀 더 user-friendly한 형태(예를 들어
/press/view/10이나 /press/list)이기 때문에 확장자가 없는 형태로 되어 있다.
현재 이
action들을 처리하는 Tomcat 선행단 프로세스는 servlet으로 구현되어 있고 그렇기 때문에 새로운
servlet이 생길 때마다 맵핑을 업데이트해야하는 불편함이 있다.
이를 한방에 어떻게
하면 처리할까 생각하다 Redirect Failing URLs to Another Web Server를 보다가 생각해낸 아이디어인데 현재까지는 제대로 잘
동작하고 있다.
RewriteCond /path/to/docroot%{REQUEST_URI} !-f
RewriteRule ^/(.*) balancer://tomcat/$1 [P]
즉,
요청된 URI가 지정된 docroot 안의 파일(/path/to/docroot%{REQUEST_URI})로 존재하지 않을 경우 (!-f), 해당하는 request들을 Tomcat으로 넘겨라 정도로 해석하면 되겠다.
이렇게 했을 때 Apache에 존재하지 않는 파일들은 모두 Tomcat으로
넘거가기 때문에 Tomcat 쪽에 존재하는 static 파일들도 access가 가능하다는 점도 눈
여겨볼만하다.
2008년 6월 3일 살짝 업그레이드
RewriteCond
/path/to/docroot%{REQUEST_FILENAME} -f [OR]
RewriteCond /path/to/docroot%{REQUEST_FILENAME} -d
RewriteRule ^(.*) - [L]
RewriteCond /path/to/docroot%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*) balancer://tomcat/$1 [P,L]




