이 예제는 다음에서 액세스할 수 있습니다.
portal-server-URL /rewriter/HTML/attrib/attribute.html
게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com 및 host1.siroe.com이 정의되어 있어야 합니다.
정의되어 있지 않으면 직접 연결이 가정되고 게이트웨이 URL이 앞에 덧붙지 않습니다.
이 예제에서 지정한 규칙은 이미 정의되어 있기 때문에 default_gateway_ruleset에 추가할 필요가 없습니다.
<html> Rewriting starts <head> <title>TEST PAGE () </title> </head> ID-htmlattr.1 <br><br> 1.a href <a href="http://abc.sesta.com/images/logo.gif">http://..</a> <br><br> 2. href <a href="https://host1.siroe.com">https://..</a> <br><br> 3. href <a href="../images/logo.gif">../images/</a> <br><br> 4. href <a href="images/logo.gif">images/..</a> <br><br> 5. href <a href="../../images/logo.gif">../../images/</a> <br><br> Rewriting ends </html>
<Attribute name="href"/>
<html> Rewriting starts <head> <title>TEST PAGE () </title> </head> ID-htmlattr.1 <br><br> 1. a href <a href="gateway-URL/http://abc.sesta.com/images/logo.gif">http://..</a> <br>
<Attrib name="href"/> 규칙이 default_gateway_ruleset에 이미 정의되었기 때문에 이 URL은 다시 작성됩니다. URL이 이미 절대 경로이므로 게이트웨이 URL만 접두어로 사용됩니다. 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다. 그렇게 하지 않으면 직접 연결이 가정되기 때문에 게이트웨이 URL이 접두어로 사용되지 않습니다.
2. href <a href="gateway-URL/https://host1.siroe.com">https://..</a>
// 다시 한번, 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 host1.siroe.com이 정의되어 있어야 합니다. 그렇게 하지 않으면 직접 연결이 가정되기 때문에 게이트웨이 URL이 접두어로 사용되지 않습니다.
<br><br> 3. href <a href="gateway-URL/portal-server-URL/rewriter/HTML/images/logo.gif">../images/</a>
// 상대 경로가 지정되었기 때문에 필요한 하위 디렉토리와 함께 게이트웨이 URL과 Portal Server URL이 접두어로 사용됩니다. 제공된 예제 구조에서 HTML 디렉토리 아래에 images라는 디렉토리가 지정되지 않았기 때문에 이 링크가 작동하지 않습니다.
<br><br>
4 href <a href="gateway-URL/portal-server-URL/rewriter/HTML/attrib/images/ logo.gif">images/..</a> <br><br>
// 상대 경로가 지정되었기 때문에 필요한 하위 디렉토리와 함께 게이트웨이 URL과 Portal Server URL이 접두어로 사용됩니다.
5. href <a href="gateway-URL/portal-server-URL/rewriter/images/logo.gif"> ../../images/</a> <br><br>
// 상대 경로가 지정되었기 때문에 필요한 하위 디렉토리와 함께 게이트웨이 URL과 Portal Server URL이 접두어로 사용됩니다. 제공된 예제 구조에서 Rewriter 디렉토리 아래에 images라는 디렉토리가 지정되지 않았기 때문에 이 링크가 작동하지 않습니다.
Rewriting ends</html>
이 절에서는 HTML JavaScript 토큰 예제 사용에 대해 설명합니다.
이 예제는 다음에서 액세스할 수 있습니다.
portal-server-URL /rewriter/HTML/jstokens/JStokens.html
이 예제에 지정된 규칙을 "JavaScript 소스 재작성을 위한 규칙" 부분의 default_gateway_ruleset에 추가하십시오.
Portal Server 관리 콘솔에 있는 Portal Server 구성의 Rewriter 서비스에서 default_gateway_ruleset을 편집합니다.
터미널 창에서 게이트웨이를 다시 시작합니다.
./psadmin start-sra-instance –u amadmin – f <password file> –N <profile name>– t <gateway> |
<html> <head> Rewriting starts <script language="javascript"> function Check(test,ind){ if (ind == \qblur\q) {alert("testing onBlur")} if (ind == \qfocus\q) {alert("testing onFocus")} } </SCRIPT> </head> <body> <form> <input TYPE=TEXT SIZE=20 value=blur onAbort="Check (\q/indexblur.html\q,\qblur\q);return;"> <input TYPE=TEXT SIZE=20 value=blur onBlur="Check (\q/indexblur.html\q,\qblur\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onFocus="Check (\q/focus.html\q,\qfocus\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onChange="Check (\q/focus.html\q,\qfocus\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onClick="Check (\q/focus.html\q,\qblur\q);return;"> <br><br> </form> </body> Rewriting ends </html>
<Attribute name=”onClick” type=”DJS”/> <Function type="URL" name="Check" paramPatterns="y"/>
<Function name="URL" name="Check" paramPatterns="y"/>는 JavaScript 함수 규칙이며 JavaScript 함수 예제에 자세하게 설명되어 있습니다.
<html> <head> Rewriting starts <script language="javascript"> function Check(test,ind){ if (ind == \qblur\q) {alert("testing onBlur")} if (ind == \qfocus\q) {alert("testing onFocus")} } </SCRIPT> </head> <body> <form> <input TYPE=TEXT SIZE=20 value=blur onAbort="Check (\qgateway URL/portal-server-URL/indexblur.html\q,\qblur\q);return;"> <input TYPE=TEXT SIZE=20 value=blur onBlur="Check (\qgateway URL/portal-server-URL/indexblur.html\q,\qblur\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onFocus="Check (\qgateway URL/portal-server-URL/focus.html\q,\qfocus\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onChange="Check (\qgateway URL/portal-server-URL/focus.html\q,\qfocus\q);return;"> <input TYPE=TEXT SIZE=20 value=focus onClick="Check (\qgateway URL/portal-server-URL/focus.html\q,\qblur\q);return;">
// 이 샘플에서는 모든 명령문이 다시 작성됩니다. 각 경우에 게이트웨이 및 Portal Server URL이 접두어로 사용됩니다. 이것은 onAbort, onBlur, onFocus, onChange 및 onClick에 대한 규칙이 default_gateway_ruleset 파일에 정의되었기 때문입니다. Rewriter는 JavaScript 토큰을 검색한 다음 추가 처리를 할 수 있도록 JavaScript 함수 규칙으로 전달합니다. 샘플의 두 번째 규칙은 Rewriter에 다시 작성할 매개 변수를 알려줍니다.
</body> <br>
Rewriting ends
</html>
다음 위치에서 예제에 액세스합니다.
portal-server-URL/rewriter/HTML/forms/formrule.html
게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다.
정의되어 있지 않으면 직접 연결이 가정되고 게이트웨이 URL이 앞에 덧붙지 않습니다.
이 예제에 지정된 규칙을 "HTML 속성 재작성을 위한 규칙" 부분의 default_gateway_ruleset에 추가하십시오.
Portal Server 관리 콘솔에 있는 Portal Server 구성의 Rewriter 서비스에서 default_gateway_ruleset을 편집합니다.
터미널 창에서 게이트웨이를 다시 시작합니다.
./psadmin start-sra-instance –u amadmin – f <password file> –N <profile name>– t <gateway> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> RW_START <p> <form name="form1" method="Post" action= "http://abc.sesta.com/casestudy/html/form.html"> <input type="hidden" name="name1" value="0|1234|/test.html"> <input type="hidden" name="name3" value="../../html/test.html"> <form name="form2" method="Post" action=" http://abc.sesta.com/testcases/html/form.html"><br> <input type="hidden" name="name1" value="0|1234| ../../html/test.html"></form> RW_END </p> </body> </html>
<Form source="*" name="form1" field="name1" valuePatterns="0|1234|"/>
<HTML> <HEAD> RW_START </HEAD> <BODY> <P> <FORM name=form1 method=POST action="gateway-URL/http://abc.sesta.com/casestudy/html/form.html">
<Attribute name="action"/>이 default_gateway_ruleset에서 HTML 규칙의 일부로 정의되었기 때문에 이 URL은 다시 작성됩니다. URL이 이미 절대 경로이므로 접두어로 게이트웨이 URL만 사용하면 됩니다. 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다. 그렇게 하지 않으면 직접 연결이 가정되기 때문에 게이트웨이 URL이 접두어로 사용되지 않습니다.
<input type=hidden name=name1 value= "0|1234|gateway URL/portal-server-URL/test.html">
// 여기서 폼 이름은 form1이고 필드 이름은 name1입니다. 이것은 규칙에서 지정된 폼 이름 및 필드 이름과 일치합니다. 규칙에 valuePatterns가 0|1234|로 나와 있으며 이 구문의 value와 일치합니다. 따라서 valuePattern 이후에 나오는 URL은 다시 작성됩니다. Portal Server URL과 게이트웨이 URL이 앞에 덧붙습니다. valuePatterns에 대한 자세한 내용은 “ 규칙에 패턴 매칭 사용을 참조하십시오.
<input type=hidden name=name3 value="../../html/test.html">
// name이 규칙에서 지정된 field 이름에 대응되지 않기 때문에 이 URL은 다시 작성되지 않습니다.
</FORM> <FORM name=form2 method=POST action= "gateway-URL/http://abc.sesta.com/casestudy/html/form.html"><BR>
// <Attribute name="action"/>이 기본 규칙 집합에서 HTML 규칙의 일부로 정의되었기 때문에 이 URL은 다시 작성됩니다. URL이 이미 절대 경로이므로 접두어로 게이트웨이 URL만 사용하면 됩니다.
<input type=hidden name=name1 value="0|1234|../../html/test.html">
// 폼 이름이 규칙에서 지정한 이름과 일치하지 않기 때문에 이 URL은 다시 작성되지 않습니다.
</FORM> </BODY> RW_END </HTML>
애플릿 클래스 파일을 얻습니다. RewriteURLinApplet.class 파일은 다음 위치에 있습니다.
portal-server-URL/rewriter/HTML/applet/appletcode
애플릿 코드가 있는 페이지의 기본 URL은 다음과 같습니다.
portal-server-URL/rewriter/HTML/applet/rule1.html
이 예제에 지정된 규칙을 "HTML 속성 재작성을 위한 규칙" 부분의 default_gateway_ruleset에 추가하십시오.
Portal Server 관리 콘솔에 있는 Portal Server 구성의 Rewriter 서비스에서 default_gateway_ruleset을 편집합니다.
게이트웨이를 다시 시작합니다.
./psadmin start-sra-instance –u amadmin – f <password file> –N <profile name>– t <gateway> |
<html> Rewriting starts <br> <applet codebase=appletcode code=RewriteURLinApplet.class archive=/test> <param name=Test1 value="/index.html"> <param name=Test2 value="../index.html"> <param name=Test3 value="../../index.html"> </applet> Rewriting ends </html>
<Applet source="*/rule1.html" code="RewriteURLinApplet.class" param="Test*" />
<HTML> Rewriting starts <BR> <APPLET codebase=gateway-URL/portal-server-URL /rewriter/HTML/applet/appletcode=RewriteURLinApplet.class archive=/test>
// <Attribute name="codebase"/> 규칙이 default_gateway_ruleset의 일부로 이미 지정되었기 때문에 이 URL은 다시 작성됩니다. 게이트웨이 및 Portal Server URL에는 appletcode 디렉토리까지의 경로가 접두어로 붙습니다.
<param name=Test1 value= "gateway-URL/portal-server-URL/index.html">
// 페이지의 기본 URL이 rule1.html이고 매개 변수 이름이 규칙에 지정된 매개 변수 Test* 에 대응되기 때문에 URL은 다시 작성됩니다. index.html이 루트 수준에 있도록 지정되었기 때문에 게이트웨이 및 Portal Server URL이 직접 접두어로 사용됩니다.
<param name=Test2 value="gateway-URL /portal-server-URL/rewriter/HTML/index.html">
// 페이지의 기본 URL이 rule1.html이고 매개 변수 이름이 규칙에 지정된 매개 변수 Test* 에 대응되기 때문에 URL은 다시 작성됩니다. 필요에 따라 경로가 앞에 덧붙습니다.
<param name=Test3 value="gateway-URL /portal-server-URL/rewriter/index.html">
// 페이지의 기본 URL이 rule1.html이고 매개 변수 이름이 규칙에 지정된 매개 변수 Test* 에 대응되기 때문에 URL은 다시 작성됩니다. 필요에 따라 경로가 앞에 덧붙습니다.
</APPLET> Rewriting ends </HTML>