Rewrite?

  1. Client의 Request Header의 URL을 관리자가 목적에 맞게 변경하여 Client에게 응답할 수 있는 기능이다.
  2. Apache의 mod_rewrite를 WebtoB에 포팅한 기능으로 rule-based URL rewriting 기능을 제공한다.

rewrite 조건


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 ...

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]

+ Recent posts