아파치 mod_rewrite 에 대해 자세히 아시는 분 댓글좀......
아파치와 톰캣으로 연동중입니다...>.< 뭐, 로드밸런스도 있구해서요. 얼마나 몰릴지는 모르겠찌만;;
여하튼, 각설하구요.
보통 80 포트로 서비스를 하게 되는데, 이때 아파치가 서블랫처리만 톰캣으루 넘깁니다.
설정이 이렇게 되어있어요.
[httpd.conf] RewriteEngine On RewriteLog /usr/local/tomcat/rewrite.log RewriteLogLevel 9 #RewriteCond %{REQUEST_URI} (\A/[^/]+)(/images) RewriteRule (/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z) $2$3 RewriteRule (/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z) $2$3$4
페이지에서 img 태그 src가 /OLIVE_POINT/images 로 시작하는 것들은 다 지우고, /images 부터 오도록 했어요. 그런데... 로그를 보니깐 분명히 적용되어있는데, 실제 페이지에서 보면 404에러가 떠요.*페이지에 뜬다는게 아니구, 크롬에서 보면 리소스 못 읽은 항목에 404나오잖아요...
이건, 아파치 mod_rewrite 로그내용이구요.
xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) init rewrite engine with requested uri / xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z)' to uri '/' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z)' to uri '/' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (1) pass through / xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) init rewrite engine with requested uri /OLIVE_POINT/contents/javax.faces.resource/jsf.js xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z)' to uri '/OLIVE_POINT/contents/javax.faces.resource/jsf.js' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) init rewrite engine with requested uri /OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z)' to uri '/OLIVE_POINT/contents/javax.faces.resource/jsf.js' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z)' to uri '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (1) pass through /OLIVE_POINT/contents/javax.faces.resource/jsf.js xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z)' to uri '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) rewrite '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' -> '/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) local path result: /images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) prefixed with document_root to /var/www/html/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (1) go-ahead with /var/www/html/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF [OK] xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) init rewrite engine with requested uri /OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z)' to uri '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z)' to uri '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) rewrite '/OLIVE_POINT/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' -> '/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) local path result: /images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) prefixed with document_root to /var/www/html/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (1) go-ahead with /var/www/html/images/jp_btn_login.png;jsessionid=1FD1490D22CAC55A8B32DCB421DB1FEF [OK] xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (2) init rewrite engine with requested uri /favicon.ico xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif]\Z)' to uri '/favicon.ico' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (3) applying pattern '(/OLIVE_POINT)(/images)(/.+[\.png|\.jpg|\.gif])(;jsessionid=.+\Z)' to uri '/favicon.ico' xxx - - [16/Jul/2011:20:34:05 +0900] [xxx/sid#82304b8][rid#8527948/initial] (1) pass through /favicon.ico
원래 적용안되는 건가요?? 처음 이런짓 해보는데, 처음이 역시 어렵네요... 해보신 분들에게 그림의 떡일거 같은데 ㅠ.ㅠ
그리고, jsf 로 개발해서 폼이 리로딩되거나 서버코드에서 리다이렉트 시키면 /OLIVE_POINT/contents 가 딸려오는데 이것도 어떡해 처리 못하나요? 원래 이거 없애려고
[proxy_ajp.conf] LoadModule proxy_ajp_module modules/mod_proxy_ajp.so ProxyPreserveHost On ProxyPass / ajp://localhost:8009/OLIVE_POINT/contents/
이렇게 해뒀는데, http://domain.info/
까지만 정상일 뿐이네요.ㅠ.ㅠ
로그인 클릭하거나, 폼이 재전송되거나 하면, http://domain.info/OLIVE_POINT/contents/xxx.jsp 꼴이 되버려요 ㅠ.ㅠ
패스 설정이 너무 복잡;;; 톰캣으로만 서비스하면좋겠지만, 그렇게는 안되니..>.<
이미지는 아파치 폴더로 넣어버릴까도 생각중.. -ㅅ-;; 그럼 업데이트때마다 복사해야되나 -ㅅ-;;
도움의 댓글을 부탁하구,즐거운 주말되세요!
첨부 | 파일 크기 |
---|---|
1.jpg | 32.47 KB |
자세히는 모르지만 혹시나 해서
자세히는 모르지만 혹시나 해서 올려봅니다.
httpd.conf 에서
Options FollowSymLinks AllowOverride none
none로 되어 있으면 All로 바꿔보세요.
(참고로 '그림의 떡' 은 불가능함을 표현하는 의미로 알고 있습니다.)
위대한 한글
댓글감사~
댓글 감사해요.
음, 저 부분은 이미 설정으로 All 이 되어있구요....
그래서, 저 부분은 아닌거 같아요..ㅠ.ㅠ
참고로,
http://domain.com/
http://domain.com
으로 들어오는 경로는,
http://domain.com/xxx/
로 변경하고 싶어서,
RewriteCond %{HTTP_HOST} ^http://domain.com
RewriteRule ^(.*)$ http://domain./xxx/$1[R,L]
게 적용해봤는데, 작동은 합니다만,,,(뒤 주소는 유지)
무수히 많은 /xxx/가 붙어버렸습니다.. 왜 이럴까요??
인생 머 있니? 왜 그렇게 심각한데?
댓글 달기