Rewrite?
- Client의 Request Header의 URL을 관리자가 목적에 맞게 변경하여 Client에게 응답할 수 있는 기능이다.
- Apache의 mod_rewrite를 WebtoB에 포팅한 기능으로 rule-based URL rewriting 기능을 제공한다.
WebtoB 설정
URLRewrite 기능을 사용하기 위해서는 NODE 절의 'URLRewrite' 항목은 'Y'로 설정
URLRewriteConfig 항목에 Condition과 Rule에 관련 설정
URLRewrite = Y,
URLRewriteConfig = "$WEBTOBDIR/config/rewrite.conf"
RewriteConfig?
RewriteConfig 파일에는 RewriteCond와 RewriteRule을 설정한다.
- RewriteCond: rewriting 조건을 명시한다.
- RewriteRule: rewriting 동작을 결정한다.
RewriteCond <TestString> <CondPattern> flags
- <TestString>: 대표적으로 hostname을 매치한다. hostname을 매치 시킬 경우 %{HTTP_HOST} 를 사용한다.
- <CondPattern>: 실제로 매칭할 문자를 입력
- flags: 다수의 호스트를 매칭하길 원하는 경우 OR을 사용하여 설정
- RewriteCond %{HTTP_HOST} ^host1.* [OR]
RewriteCond %{HTTP_HOST} ^host2.* [OR]
RewriteCond %{HTTP_HOST} ^host3.* [OR]
RewriteRule ...
- RewriteCond %{HTTP_HOST} ^host1.* [OR]
HTTP를 HTTPS로 Rewrite
RewriteCond %{HTTPS} !=on 또는 RewriteCond %{HTTPS} = off
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
HTTP를 다른 서비스 Port로 Rewrite
RewriteCond %{SERVER_PORT} 8180
RewriteRule . https://www.test2.com:8443$0 [R]
RewriteCond %{HTTP_HOST} ^www.test.com$
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/$ /ssis-test [L,R]
URL를 다른 URL로 Rewrite
RewriteCond %{HTTP_HOST} ^www.naver.com$
RewriteRule /ssis-test https://www.daum.net [L,R]
'MiddleWare > WebtoB' 카테고리의 다른 글
[WebtoB] 단일 서버에서 다중 WebtoB 기동 시 유의사항 (0) | 2023.03.15 |
---|---|
[WebtoB] CORS 설정 (0) | 2022.11.14 |
[WebtoB] Shared Memory 에러 해결 방법 (0) | 2022.10.11 |
[WebtoB] curl로 Content-Encoding: gzip 확인 (0) | 2022.09.21 |
[WebtoB] DOCROOT, URI, EXT, GotoEXT 설정 (0) | 2022.08.10 |